LeetCode 题解:127. 单词接龙,双向 BFS,JavaScript,详细注释
原题链接:https://leetcode-cn.com/problems/word-ladder/
解题思路:
分别以beginWord和endWord为起点,分别向中间推进,当两者相遇时,即为找到了最短路径。
每次推进都选取两端队列中较小者,能够优化遍历的次数。
BFS需要使用队列,当一端队列元素的下一个变化单词存在于另一端的队列中时,即可认为两者相遇。
使用Map判断单词是否存在于队列中,可以进一步优化速度。因此可以在每次遍历队列前,都将另一端的队列转换为Map。
需要注意的测试用例:
版权声明: 本文为 InfoQ 作者【Lee Chen】的原创文章。
原文链接:【http://xie.infoq.cn/article/e27546766cca890b108046e12】。文章转载请联系作者。
评论