最近在刷题并整理DFS和BFS的思路,有两道题引起了我的注意,就是leetcode上的126和127两个word ladder题目。
首先我们先来关注下这两道题的描述,127题只需要记录单词转换的最短路径长度就好,而126题需要记录所有最短转换路径。127题属于中等难度的题目,但是126题属于hard难度的题目。
127题描述:
Given two words (beginWord and endWord),and a dictionary's word list, find the length of shortest transformationsequence from beginWord to endWord, such that:
Only one letter can be changed at a time.
Each transformed word must exist in theword list. Note that beginWord is not a transformed word.
Note:
Return 0 if there is no such transformationsequence.
All words have the same length.
All words contain only lowercase alphabeticcharacters.
You may assume no duplicates in the wordlist.
You may assume beginWord and endWord arenon-empty and are not the same.
看到这个题,求最短路径,首先想到是用BFS来做,先将初始的单词放到队列里,层数置1,从开始的单词出发,每次变换一个字母