0

代码发布在审查委员会上以供审查。我的意图不是要求审查代码。

[迷宫]:https ://codereview.stackexchange.com/questions/33155/maze-code-review

在上面的代码中,该函数solve只提供一个堆栈对象(对堆栈类型对象的引用),该对象将被递归执行的代码使用。

  1. 由于有这么多模式,是否有这样一个函数的名称,它只协助/或设置递归调用?

  2. 如果是这样,有什么做/不做/替代品?

4

1 回答 1

1

我认为你做得很好。每个递归算法的第一步都需要一些初始值。通常的做法是将此初始调用封装在另一个方法中,这样调用者就不必为这些值烦恼。

如果您的初始值设置起来更复杂,您也可以将其封装在其他方法中。假设您的堆栈需要有一些内容而不是空的。你可以这样做:

public List<Coordinate> solve() {
    return getMazePath(0, 0, getInitialStack());
}

这样,该solve方法就可以作为递归的入口点保持清晰和简单。

于 2013-10-24T08:38:45.173 回答