File tree Expand file tree Collapse file tree 1 file changed +39
-0
lines changed
Expand file tree Collapse file tree 1 file changed +39
-0
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * @param {string } beginWord
3+ * @param {string } endWord
4+ * @param {string[] } wordList
5+ * @return {number }
6+ */
7+ var ladderLength = function ( beginWord , endWord , wordList ) {
8+ const bkArr = [ ] ;
9+ const visit = Array . from ( { length : wordList . length } ) . fill ( false ) ;
10+ let ans = Infinity ;
11+ const bk = ( k , word ) => {
12+ if ( word === endWord ) {
13+ ans = Math . min ( ans , k ) ;
14+ return ;
15+ }
16+ for ( let i = 0 ; i < wordList . length ; i ++ ) {
17+ let count = 0 ;
18+ let flag = true ;
19+ for ( let j = 0 ; j < wordList [ i ] . length ; j ++ ) {
20+ if ( word [ j ] !== wordList [ i ] [ j ] ) {
21+ count ++ ;
22+ if ( count === 2 ) {
23+ flag = false ;
24+ break ;
25+ }
26+ }
27+ }
28+ if ( visit [ i ] === false && flag ) {
29+ visit [ i ] = true ;
30+ bk ( k + 1 , wordList [ i ] ) ;
31+ visit [ i ] = false ;
32+ }
33+ }
34+ } ;
35+ bk ( 1 , beginWord ) ;
36+ if ( ans === Infinity ) return 0 ;
37+ return ans ;
38+ } ;
39+ //시간복잡도 터짐 실패
You can’t perform that action at this time.
0 commit comments