Skip to content

Commit f5ccee1

Browse files
authored
Update linked_list.md
add a recursive method in java code to reverse a linked list.
1 parent 749087b commit f5ccee1

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

zh-hans/basics_data_structure/linked_list.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ class ListNode {
9696
}
9797
}
9898
99+
// iterative method
99100
public ListNode reverse(ListNode head) {
100101
ListNode prev = null;
101102
while (head != null) {
@@ -106,6 +107,18 @@ public ListNode reverse(ListNode head) {
106107
}
107108
return prev;
108109
}
110+
111+
// recursive method
112+
public ListNode reverse(ListNode head) {
113+
if (head == null || head.next == null) {
114+
return head;
115+
}
116+
ListNode next = head.next;
117+
ListNode newHead = reverse(next);
118+
next.next = head;
119+
head.next = null;
120+
return newHead;
121+
}
109122
```
110123

111124
#### 双向链表

0 commit comments

Comments
 (0)