代码:
public class Main {public static void main(String[] args) {Tower t = new Tower();t.move(3, 'A', 'B', 'C');}}class Tower{//方法//num表示要移动的个数 a, b, c 分别表示a, b, c三个柱子public void move(int num, char a, char b, char c){//如果只有一个盘num = 1if(num == 1){System.out.println(a + "->" + c);}else{//如果有多个盘,可以看成两个,最下面的和上面的所有盘//先移动上面的所有盘到b,借助cmove(num - 1, a, c, b);//然后把最下面的这个盘移到cSystem.out.println(a + "->" + c);//再把b所有盘移到c,借助amove(num - 1, b, a, c);}}}
运行结果:
