我正在努力完成我的wordladder程序。需要一些指导。
以下是我目前的源代码: newQueue = MyQueue() newStack = MyStack()
#finding words with one letter difference
newStack.push(firstWord)
while True:
for words in dictionary:
diffcounter =0;
if (len(firstWord) == len(words)):
for i in range(0, len(firstWord)):
if (firstWord[i] != words[i]):
if (diffcounter > 1):
break
else:
diffcounter = diffcounter + 1
if (diffcounter == 1):
newStack.push(words)
newQueue.enqueue(newStack)
#compare with lastWord
deStack = newQueue.dequeue()
print deStack.toString()
if (deStack.peek() != lastWord):
#problem
firstWord = deStack.peek()
else:
break
所以基本上,它会进入一个无限循环,一旦lastWord到达,它就会破裂。但是现在我遇到了使用lastWord进行检查的问题。 到目前为止,我能够提取一个字母差异的单词,但无法循环该函数以保持循环直到lastWord达到。