所以,我正在阅读关于链表和递归的内容。我只是想知道为什么我不能在静态void的方法中使用递归?另外,我在链接列表递归中想知道Java,为什么你可以在打印中使用静态void或搜索节点。谢谢。
答案 0 :(得分:4)
您可以在静态void的函数中使用递归。它只需返回其价值或通过副作用做它应该做的事情,这通常被认为是有害的。但对于印刷而言,这是完全合理的。
static void printList(node)
{
if (node != null)
{
print(node);
printList(node.next);
}
}
答案 1 :(得分:1)
使用递归时可以使用静态方法。您只需传递在函数内部工作所需的所有信息。使用链接列表时,强烈建议使用递归,因为它们的设计方式(每个节点包含对下一个节点的引用以及(有时)它的前一个节点)。