按字典 wordList 完成从单词 beginWord 到单词 endWord 转化,一个表示此过程的 转换序列 是形式上像 beginWord -> s1 -> s2 -> ... -> sk 这样的单词序列,并满足:
- 每对相邻的单词之间仅有单个字母不同。
- 转换过程中的每个单词
si(1 <= i <= k)必须是字典wordList中的单词。注意,beginWord不必是字典wordList中的单词。 sk == endWord
给你两个单词 beginWord 和 endWord ,以及一个字典 wordList 。请你找出并返回所有从 beginWord 到 endWord 的 最短转换序列 ,如果不存在这样的转换序列,返回一个空列表。每个序列都应该以单词列表 [beginWord, s1, s2, ..., sk] 的形式返回。
示例:
1 | 输入:beginWord = "hit", endWord = "cog", wordList = ["hot","dot","dog","lot","log","cog"] |
分析:
1 | 由于题目要求没对相邻单词之间仅有单个字母不同,即从当前状态到下一个状态代价为1,同时题目要求最短转化路近,因此问题转化为BFS求最短路问题 |
代码
1 | class Solution { |
[原题链接](126. 单词接龙 II - 力扣(Leetcode))
[相似题目](127. 单词接龙 - 力扣(Leetcode))