该代码已发布以供审核委员会审核。我的目的不是要求审查代码。
[迷宫]:https://codereview.stackexchange.com/questions/33155/maze-code-review
在上面的代码中,函数solve
什么都不做,只提供一个堆栈对象(对类型堆栈的对象的引用),它将被递归执行的代码使用。
由于模式太多,有这样一个函数的名称只能帮助/或设置递归调用吗?
如果是这样的话,有什么/不要/替代品吗?
答案 0 :(得分:1)
我觉得你做得很好。每个递归算法都需要一些初始值,这是它的第一步。通常的做法是将这个初始调用封装在另一个方法中,这样调用者就不必费心去理解这些值了。
如果您的初始值设置起来会更复杂,您也可以将其封装在其他方法中。假设你的堆栈需要有一些内容而不是空。你可以这样做:
public List<Coordinate> solve() {
return getMazePath(0, 0, getInitialStack());
}
这样,solve
方法作为递归的入口点保持清晰简单。