最先想出的方法的时间复杂度是 O ( n 2 l ) O(n^2l) O(n2l)的,其中n是wordList长度,l是单词长度,果然超时了。
import queue
class Solution:
def ladderLength(self, beginWord: str, endWord: str, wordList: List[str]) -> int:
lWord = len(beginWord)
lList = len(wordList)
# 连接状况
Graph = [[-1 for i in range(lList+1)] for j in range(lList+1)]
# 是否已经访问过某个单词节点
vis = [0 for i in range(lList+1)]
# 到某个位置的路径长度
le = [0 for i in range(lList+1)]
# 将beginWord放到WordList中,方便取值
wordList.append(beginWord)
def existPath(ind1, ind2):
if Graph[ind1