汗学院,河内递归塔

时间:2017-12-11 12:47:32

标签: recursion towers-of-hanoi

挑战以递归方式解决河内

我无法超越这一挑战的第二阶段,这是一种耻辱,因为这意味着我无法完成任何事情。有人可以帮忙吗?

链接在这里: https://www.khanacademy.org/computing/computer-science/algorithms/towers-of-hanoi/p/challenge-solve-hanoi-recursively

问题如下:

进行递归函数调用,将位于fromPeg底部磁盘顶部的磁盘移动到备用挂钩,即将(numDisks - 1)磁盘移动到备用挂钩。

您可以使用getSparePeg函数找到备用挂钩。

对hanoi.getSparePeg(peg1,peg2)的调用会返回剩余的peg,它不是peg1或peg2。

提示说明了这一点:

//递归案例:

var sparePeg = hanoi.getSparePeg(fromPeg, toPeg);
solveHanoi();

尽管如此,尽管它似乎只是要求用参数填写solveHanoi(),但它不会进展。我是否必须单独声明fromPeg和toPeg,并为它们分配字母?

以下是对代码的粗略抨击:

var solveHanoi = function(numDisks, fromPeg, toPeg) {
    if (numDisks===0)
    {
       return;
    }
};    
var fromPeg="A";
var toPeg="B";
var sparePeg = hanoi.getSparePeg(fromPeg,toPeg);
//solveHanoi(5, "A","B");
//Program.assertEqual(hanoi.isSolved("B"),true);

0 个答案:

没有答案