汉诺塔原理:
一块黄铜板上插着三根宝石针,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。一次只移动一片,不管在哪根针上,小片必须在大片上面,最终将第一根宝石针的所有金片移至第三根宝石针上!
下面已3片金片为例:
js实现代码:
let a = [], b = [], c = [];
let num = 3; //多少片金片
for (let i=1; i<=num; i++) {
a.push(i)
}
function fn(num , a, b, c) {
if ( num > 0) {
fn(num - 1, a, c, b)
//核心逻辑
c.unshift(a.shift())
fn(num - 1, b, a, c)
}
}
//执行程序
fn(num, a, b, c)
代码原理: