描述
汉诺塔 是一个著名的益智游戏。塔上有 3 根柱子和一套直径各不相同的空心圆盘。开始时源柱子上的所有圆盘都按照从小到大的顺序堆叠。目标是通过每次移动一个圆盘到另一根柱子,最终把一堆圆盘移动到目标柱子上,过程中不允许把较大的圆盘放置在较小的圆盘之上。
实现
用 数组 描述数据结构
function hanoi(n, src, tmp, dst) {if (n <= 1) {dst.push(src.pop());return;}hanoi(n-1, src, dst, tmp);dst.push(src.pop());return hanoi(n-1, tmp, src, dst);}var _src = [ 15, 14, 13, 12, 11, 10 ];hanoi(_src.length, _src, [], []);
