汉诺塔递归错解,想知道错误原因在哪儿
#我把每个柱子上盘子当作一个stack,hanoi(s1,s2,s3)就是把stack1里的通过stack2移动到stack3里。
# hanoi(s1[1:],s3,s2) 是把stack1除了第一层的盘子通过stack3移动到stack2
def hanoi(s1,s2,s3):
h = len(s1)
if h >= 1:
hanoi(s1[1:],s3,s2)
s3.append(s1.pop())
hanoi(s2,s1,s3)
print(f"{s1}{s2}{s3}")