【发布时间】:2020-04-23 11:04:06
【问题描述】:
我正在尝试使用堆栈实现回文,但我被下面的代码卡住了。虽然我应该得到“真”,但我得到了“假”。你能帮我解决吗?
from Stack import Stack
import copy
def display(data):
original= Stack()
reverse= Stack()
for i in range(len(data)):
original.push(data[i])
dat=copy.deepcopy( original)
# print(hex(id(dat)))
# print(hex(id(original)))
for i in range(len(data)):
a= original.pop()
reverse.push(a)
# original.disp()
reverse.disp() #disp() shows elements in list form
dat.disp()
if dat == reverse:
return True
else:
return False
print(display('racecar'))
【问题讨论】:
-
分享你的
Stack实现 -
谢谢@GrijeshChauhan,我想我发现了我的错误。显然我是在比较“堆栈”类的实例,而不是比较它们的列表。
标签: python python-3.x stack palindrome