我们需要解决的问题正是 Hanoi (a,b,c,n) //上文中的状态0
1、把A上的n-1个移动到B: Hanoi (a,c,b,n-1); // 操作结束为状态1
2、把A上的大盘子移动到C move(a,c)
3、把B上的n-1移动到A Hanoi (b,c,a,n-1); //操作结束位状态2(和状态1相比只是规模变小)
def mov(self,n,a,b,c):
if n == 1:
self.result.append('from %s to %s'%(a,c))
else:
self.mov(n-1, a, c, b)
self.mov(1, a, b, c)
self.mov(n-1, b, a, c)
def towerOfHanoi(self, n):
self.result = []
# write your code here
a = 'A'
b = 'B'
c = 'C'
self.mov(n, a, b, c)
return self.result