public ListNode reverseList(ListNode head) {
return helper(head, null);
}
private ListNode helper(ListNode head, ListNode newHead) {
if (head == null) return newHead;
ListNode next = head.next;
head.next = newHead;
return helper(next, head);
}
public ListNode reverseList(ListNode head) {
ListNode prev = null, node = head;
while (node != null) {
ListNode copy = new ListNode(node.val);
copy.next = prev;
prev = copy;
node = node.next;
}
return prev;
}
本文介绍了两种实现链表逆序的方法:递归辅助法和迭代法。递归辅助法通过不断将当前节点指向前一个节点来完成逆序;迭代法则通过创建新节点并将其指向前一个节点的方式逐步构建逆序链表。
2118

被折叠的 条评论
为什么被折叠?



