(beginWord, endWord, wordList)
| 7 | * @return {number} |
| 8 | */ |
| 9 | var ladderLength = function (beginWord, endWord, wordList) { |
| 10 | const [queue, wordSet, seen] = [ |
| 11 | new Queue([[beginWord, 1]]), |
| 12 | new Set(wordList), |
| 13 | new Set([beginWord]), |
| 14 | ]; |
| 15 | |
| 16 | return bfs( |
| 17 | queue, |
| 18 | wordSet, |
| 19 | seen, |
| 20 | endWord, |
| 21 | ); /* Time O(ROWS * COLS) | Space O(ROWS * COLS) */ |
| 22 | }; |
| 23 | |
| 24 | const bfs = (queue, wordSet, seen, endWord) => { |
| 25 | while (!queue.isEmpty()) { |