三行代码和三个动图
先去看代码,在来看动图 😃
hanoi(n - 1, a, c, b);
- 上面的n-1个盘子,借助c,最终放到了b上面
move(a, c);
- 直接把最后一个盘子从a移到c
hanoi(n - 1, b, a, c);
- 上面的n-1个盘子,借助a,最终全部移到了c上面,移动完毕
hanoi(3, "A", "B", "C");
function hanoi(n, a, b, c) {
if (n === 1) {
move(a, c);
} else {
hanoi(n - 1, a, c, b);
move(a, c);
hanoi(n - 1, b, a, c);
}
}
function move(start, end) {
console.log(start, "--->", end);
}