解题思路:
把n个盘子从Left 借助 Mid,移动到Right柱子上,可以分为以下三步:
1、把n-1个盘子从Left 借助 Right,移动到Mid柱子上
2、把剩下最大的那一个盘子从Left移动到 Right柱子上
3、把n-1个盘子从Mid 借助 Left,移动到,Right柱子上
#=============================================================================================
'''
#
# @param n int整型
# @return string字符串一维数组
#
out = []
def hanoi(n, left, mid, right):
if n==0:
return
if n==1:
t = 'move from ' + left + ' to ' + right
out.append(t)
return
hanoi(n-1, left, right, mid)
hanoi(1, left, mid, right)
hanoi(n-1, mid, left, right)
class Solution:
def getSolution(self , n ):
# write code here'
hanoi(n, 'left', 'mid', 'right')
return out
s = Solution()
print(s.getSolution(2))