You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest transformation sequence from beginWord to endWord, such that:
Only one letter can be changed at a time.
Each transformed word must exist in the word list. Note that beginWord is not a transformed word.
Note:
Return 0 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.
Example 1:
Input:
beginWord = "hit",
endWord = "cog",
wordList = ["hot","dot","dog","lot","log","cog"]
Output: 5
Explanation: As one shortest transformation is "hit" -> "hot" -> "dot" -> "dog" -> "cog",
return its length 5.
Example 2:
Input:
beginWord = "hit"
endWord = "cog"
wordList = ["hot","dot","dog","lot","log"]
Output: 0
Explanation: The endWord "cog" is not in wordList, therefore no possible transformation.
Word Ladder
Given two words (
beginWord
andendWord
), and a dictionary's word list, find the length of shortest transformation sequence frombeginWord
toendWord
, such that:beginWord
is not a transformed word.Note:
beginWord
andendWord
are non-empty and are not the same.Example 1:
Example 2:
算法思路:
beginword
到endword
的最短路径;map
构造邻接表所表示的图,map
定义为以string
为key
,vector<string>
为value
,将beginword
push进wordlist
,遍历wordlist
,对任意两个单词,若它们只差一个字母,则将其相连;Q
,队列节点为pair<定点,步数>
;设置集合visit
,记录搜索过的节点;将<beginWord, 1>
添加至队列;endword
,返回到达当前节点的步数;visit
中的节点与步数同时添加的到队列Q
,并将拓展节点加入viist
;endword
则返回0;The text was updated successfully, but these errors were encountered: