python leetcode 127. Word Ladder
阿新 • • 發佈:2018-12-01
設定一個佇列儲存(nowword,count) 設定一個字典儲存候選單詞當q為空是找不到這樣的順序
class Solution(object): def ladderLength(self, beginWord, endWord, wordList): """ :type beginWord: str :type endWord: str :type wordList: List[str] :rtype: int """ dict1={} for w in wordList: if not w in dict1: dict1[w]=1 else: dict1[w]+=1 q=[(beginWord,1)] while q: t,l = q.pop(0) if t == endWord: return l for i in range(len(t)): left = t[:i] right = t[i+1:] for s in 'abcdefghijklmnopqrstuvwxyz': if s!=t[i]: nextWord = left+s+right if nextWord in dict1 and dict1[nextWord]>0: q.append((nextWord,l+1)) dict1[nextWord]-=1 return 0