
有三个柱子,原始装满大小不一的盘子的柱子称为A,还有两根空的柱子,分别为B和C。一次只能移动一个盘子,小的盘子只能能在大的盘子上面。最终将A柱子上的盘子全部移到C柱子中
分成3步:
1,把n-1号盘子移动到中转柱子
2,把大盘子从起点移到目标柱子
3,把中转柱子的n-1号也移到目标柱子
代码实现:
public class Solution{ public static void main(String[] args){ towerOfHanoi(3,'A','B','C'); } public static void towerOfHanoi(int n,char start,char transfer,char target){ if(n==1){ System.out.println(start+"----->"+target); }else{ towerOfHanoi(n-1,start,target,transfer); System.out.println(start+"----->"+target); towerOfHanoi(n-1,transfer,start,target); } } }
posted on
浙公网安备 33010602011771号