编程语言
首页 > 编程语言> > Java 老鼠走迷宫 汉诺塔

Java 老鼠走迷宫 汉诺塔

作者:互联网

 

汉诺塔

public class Tower {
  public static void main(String[] args) {
    Hanoi hanoi = new Hanoi();
    hanoi.move(5, 'A', 'B', 'C');
  }
}

class Hanoi {
  // num: 盘数,a:A塔,b:B塔,c:C塔
  public void move(int num, char a, char b, char c) {
    if (num == 1) { // 只剩一个盘,出口
      System.out.println(a + " => " + c);
    } else {
      // 将多个盘看为2个, 最下的一个, 和上面的所有(num-1)
      move(num - 1, a, c, b); // 借助c, 将上面的num-1移动到 b
      System.out.println(a + " => " + c); // 最下面的移到c
      move(num - 1, b, a, c); // 借助a, 把b塔的num-1个移到c
    }
  }
}

  

 

标签:Java,Hanoi,move,迷宫,char,num,汉诺塔,public
来源: https://www.cnblogs.com/dissipate/p/14907134.html