程序员代码面试指南 python实现(用栈来求解汉诺塔问题)
程序员代码面试指南 python实现(第一章 栈和队列)
用栈来求解汉诺塔问题
题目描述
分析
方法一:递归方法
源码
def process(num,left,mid,right,from_,to_):
if num == 1:
if from_ == mid or to_ == mid:
print("Move 1 from "+from_+" to "+to_)
else:
print("Move 1 from "+from_+" to "+to_)
print("Move 1 from "+mid+" to "+to_)
return 2
if from_ == mid or to_ == mid:
if from_ == left or to_ == left:
another = right
else:
another = left
part1 = process(num-1,left,mid,right,from_,another)
part2 = 1
print("Move "+str(num)+" fr