递归关注的只有两个过程:
- 调用自身
- 结束条件
汉诺塔问题:
- 将 A 柱上的第 n-1 个盘子从 A 经过C移动到 B
- 将 A 柱上的第 n 个盘子移动到 C
将 B 柱上的第 n-1 个盘子从 B 经过 A 移动到 C
public class Demo {public static void main(String[] args) {hanoi(3, 'A', 'B', 'C');}private static int count;// 表示将 a 经过 b 移动到 cpublic static void hanoi(int n, char a, char b, char c) {if (n > 0) {hanoi(n - 1, a, c, b);System.out.println("第" + ++count + "次:将" + a + "移动到" + c);hanoi(n - 1, b, a, c);}}}
