对老师的解法加了些注释方便大家理解
def move(index, start, mid, end):
# 设置递归出口,如果只有一层搬运完成后直接返回。
if index == 1:
print("{}-{}".format(start, end))
return
# 开始搬运。
move(index - 1, start, end, mid)
print("{}->{}".format(start, end))
# 目标块搬运完成,恢复剩余块到初始位置形成新的搬运问题。
move(index - 1, mid, start, end)
if __name__ == '__main__':
move(3, "A", "B", "C")