我在网上到处都能看到从尾部开始尊敬的程序
这里的节点是头节点
reverseNode(int node){
if(node==null){
return;
}
reverseNode(node.next);
Node temp = node.next;
node.next = node.prev;
node.prev=temp;
if(node.prev==null){
headNode = node;
}
}
但我可以想到我可以从头节点反转的方法也像
这里的节点是头节点
reverseNode(int node){
if(node==null){
return;
}
Node temp = node.next;
node.next = node.prev;
node.prev=temp;
reverseNode(node.prev);
if(node.prev==null){
headNode = node;
}
}
但我没有看到任何地方提到方法。此方法是否存在任何错误/问题或未优化?
最佳答案
第一个版本是head 递归
的示例。第二个是 tail recursion
的例子。这里有很好的解释:The difference between head & tail recursion .
关于java - 从头节点反向链表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38282831/