题目描述

给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:
每次转换只能改变一个字母。
转换过程中的中间单词必须是字典中的单词。
说明:
如果不存在这样的转换序列,返回 0。
所有单词具有相同的长度。
所有单词只由小写字母组成。
字典中不存在重复的单词。
你可以假设 beginWord 和 endWord 是非空的,且二者不相同。

思路

详见链接

代码

class Solution(object):def ladderLength(self, beginWord, endWord, wordList):word_set = set(wordList)cur_word = [beginWord]next_word = []depth = 1while cur_word:for word in cur_word:if word == endWord:return depthfor index in range(len(word)):for indice in "abcdefghijklmnopqrstuvwxyz":new_word = word[:index] + indice + word[index+1:]if new_word in word_set:word_set.remove(new_word)next_word.append(new_word)depth += 1cur_word = next_wordnext_word = []return 0if __name__ =="__main__":beginWord = "hit"endWord = "cog"wordList = ["hot","dot","dog","lot","log","cog"]sequence = Solution().ladderLength(beginWord,endWord,wordList)print(sequence)

效果

LeetCode 127. 单词接龙(广度优先遍历)相关推荐

  1. LeetCode 127. 单词接龙(图的BFS/双向BFS)

    文章目录 1. 题目 2. 图的BFS解题 2.1 单向BFS 2.2 双向BFS !厉害了 1. 题目 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord ...

  2. Java实现 LeetCode 127 单词接龙

    127. 单词接龙 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度.转换需遵循如下规则: 每次转换只能改变一个字 ...

  3. LeetCode 127. 单词接龙(C++)*

    思路: 1.如果采用回溯法来的话会超时: 2.这里采用构造图和广度优先遍历结合来实现:首先要构造图,需要将每个字符串对应一个数字id,然后边的构造使用矩阵来实现,这里采用将每一个字符串的id连接每个将 ...

  4. leetcode 127 单词接龙

    给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度.转换需遵循如下规则: 每次转换只能改变一个字母. 转换过程中的中 ...

  5. Leetcode 127. 单词接龙 解题思路及C++实现

    解题思路: 首先判断wordList中是否有endWord,如果没有,就返回0. pathCount用来存储beginWord转换到某一个word所需的长度,有点类似于动态规划中用于记录状态的矩阵. ...

  6. leetcode 127. 单词接龙(bfs)

    给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度.转换需遵循如下规则: 每次转换只能改变一个字母. 转换过程中的中 ...

  7. leetcode 127 单词接龙

    思路:BST 方向 :{a,b,c.......z} 设置一个queue ,记录当前位置 先是外层循环(queue !=  null)   如果 这个循环走完, 说明中间没返回, 直接返回0: 每一次 ...

  8. LeetCode 126. 单词接龙 II(图的BFS)

    1. 题目 给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列. 转换需遵循如下规则: 每次转换只能 ...

  9. LeetCode:127 单词接龙 无向图BFS

    LeetCode:127 单词接龙 无向图BFS 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度.转换需遵循如下 ...

最新文章

  1. android 自定义录像机,android-camera2 - 将自定义捕获请求构建器选项设置为使用Camera2 API捕获图像以使用OpenCV库进行摄像机校准 - 堆栈内存溢出...
  2. 在日志文件中输出当前时间
  3. 利用 Numpy 进行矩阵相关运算
  4. 微软NNI-业内最亲民的AutoML工具学习笔记(1):AutoFeatureENG
  5. AT2339-[AGC011C]Squared Graph【黑白染色】
  6. ibatis(1)ibatis的理念
  7. Python多重继承时属性的调用顺序
  8. 有道难题第一题非OO解,极端记录160ms
  9. ZooKeeper 初体验
  10. 影视链进入区块链应用时代大潮 展现影视新巅峰
  11. 计算机三级网络技术无纸化考试模拟软件(2019.3 2019.9) 包含激活码 未来教育
  12. web标准和w3c_W3C记录了Web的体系结构
  13. 对象的高级使用-插入图片对象(转)
  14. redis.conf文件下载与配置
  15. 招聘人员最喜欢问的问题有哪些
  16. NETDMIS5.0多点偏置平面建坐标系2023
  17. neo4j报错1:因CREATE和MERGE报错
  18. 利用 ajax 上传图片 删除图片 (Spring Boot)
  19. 正则表达式匹配连续相同字符,如...aaa..bbb...11111...2222...
  20. PhoneAccount流程解析(SIM卡管理器)拨号过程中解析PhoneAccount

热门文章

  1. Windows用户程序报错或软件无法删除或者卡顿,解决办法
  2. (转)Docker 基础 : Dockerfile
  3. 综合后端各种类型文件
  4. 摩拜服务器维护,摩拜的后台是云服务器
  5. Javascript基础系列之(五)条件语句(if条件语句)
  6. Openstack虚拟机实例备份方案测试
  7. 判断是否为数组的 JavaScript 方法总结
  8. FLEX- MDI窗口开发实例
  9. python生成html表格_如何使用Python生成html目录列表
  10. 热门用户推荐能否支持分类筛选?