策略:分治算法
需求:一个珠子上从小到大拜访了64个圆盘,要求把他重新放在另一根柱子上,要求大圆盘不能在小圆盘上面,每次只能移动一根柱子。
解决思路:
public static void hanoiTower(int num,char x,char y,char z){
//如果只有一个盘
if(num==1)
{
System.out.println("第1个盘从"+x+"->"+z);
}else{
//如果大于等于2
//先把最上面的所有盘从A移动到B,移过程中会用到C
hanoiTower(num-1,x,z,y);
//把最下边的从A移动到C
System.out.println("第"+num+"个盘从"+x+"->"+z);
//把B盘所有的从B移动到C,移动过程中使用到A盘
hanoiTower(num-1,y,x,z);
}