描述

汉诺塔 是一个著名的益智游戏。塔上有 3 根柱子和一套直径各不相同的空心圆盘。开始时源柱子上的所有圆盘都按照从小到大的顺序堆叠。目标是通过每次移动一个圆盘到另一根柱子,最终把一堆圆盘移动到目标柱子上,过程中不允许把较大的圆盘放置在较小的圆盘之上。

实现

数组 描述数据结构

  1. function hanoi(n, src, tmp, dst) {
  2. if (n <= 1) {
  3. dst.push(src.pop());
  4. return;
  5. }
  6. hanoi(n-1, src, dst, tmp);
  7. dst.push(src.pop());
  8. return hanoi(n-1, tmp, src, dst);
  9. }
  10. var _src = [ 15, 14, 13, 12, 11, 10 ];
  11. hanoi(_src.length, _src, [], []);