126 Word Ladder II

126. Word Ladder II

1. Question

Given two words (beginWord and endWord), and a dictionary's word list, find all shortest transformation sequence(s) from beginWord to endWord, such that:

  1. Only one letter can be changed at a time

  2. Each transformed word must exist in the word list. Note that

    beginWord is not a transformed word.

For example,

Given: beginWord="hit" endWord="cog" wordList=["hot","dot","dog","lot","log","cog"]

Return

  [
    ["hit","hot","dot","dog","cog"],
    ["hit","hot","lot","log","cog"]
  ]

Note:

  • Return an empty list if there is no such transformation sequence.

  • All words have the same length.

  • All words contain only lowercase alphabetic characters.

  • You may assume no duplicates in the word list.

  • You may assume beginWord and endWord are non-empty and are not the same.

2. Implementation

(1) BFS + Backtracking

思路:

(1)利用BFS找到最短路径,和每个word的邻近的word

(2) 通过回溯法,找出所有的路径

3. Time & Space Complexity

BFS + Backtracking: 时间复杂度? , 空间复杂度?

Last updated

Was this helpful?