# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param n int整型 # @return string字符串一维数组 # class Solution: def getSolution(self , n: int) -> List[str]: # write code here # 思路梳理: # 要把圆盘全部移到最右边分为三步 # 第一步:将n-1个盘子借助右柱子移到中间 # 第二步:将第n个盘子从左柱子移到右柱子 # 第三步:将n-1个盘子借助左柱子移到右边 self.result_list = [] self.hanoi(n,'left','right','mid') return self.result_list def hanoi(self,k,source,target,auxiliary): if k == 1: self.result_list.append(f'move from {source} to {target}') return self.hanoi(k-1,source,auxiliary,target) self.result_list.append(f'move from {source} to {target}') self.hanoi(k-1,auxiliary,target,source)