1.思路
1)
//如果有多个盘,可以看成两个,最下面一个和其它所有盘(num-1)
2)
先移动上面的盘到B盘,借助C盘;
把最下面的盘,移动到C盘
把剩下的移动到C盘
2.代码
public class HanoiTower {
public static void main(String[] args) {
Tower tower = new Tower();
tower.move(5,'A','B','C');
}
}
class Tower{
//num表示要移动的盘的个数,a,b,c分别表示表示A塔,B塔,C塔
public void move(int num,char a,char b,char c){
if (num == 1){
System.out.println(a + "->" + c);
}else {
//如果有多个盘,可以看成两个,最下面一个和其它所有盘(num-1)
//1.先移动上面的盘到B盘,借助C盘
move(num-1,a,c,b);
//2.把最下面的盘,移动到C盘
System.out.println(a + "->" + c);
//3.把剩下的移动到C盘
move(num-1,b,a,c);
}
}
}
