127. 单词接龙
题目描述
难度中等501收藏分享切换为英文接收动态反馈
给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:
每次转换只能改变一个字母。
转换过程中的中间单词必须是字典中的单词。
说明:
- 如果不存在这样的转换序列,返回 0。
- 所有单词具有相同的长度。
- 所有单词只由小写字母组成。
- 字典中不存在重复的单词。
- 你可以假设 beginWord 和 endWord 是非空的,且二者不相同。
示例 1:
1 |
|
示例 2:
1 |
|
思路
- 最少次数,可以用
bfs
搜索.- 使用
queue
进行bfs
搜索,每次对元素的每个位置的单词进行替换 - 为了快速查找使用
unordered_set
记录字典中的元素 - 避免相同节点重复访问,加入访问
unordered_set
类型的标记vis
- 当队列为空,且没有找到时,则不存在这样的路径
- 使用
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!