leetcode206 reverse list two approaches (loop, recursion)

Reverse list leetcode206

方法1 循环
···
public ListNode reverseList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode now = head;
while (now.next != null) {
ListNode temp = now.next;
now.next = now.next.next;
temp.next = head;
head = temp;
}
return head;
}···
方法2 递归
public ListNode reverseList2(ListNode head) { if (head == null || head.next == null) { return head; } ListNode newHead = reverseList2(head.next); ListNode now =newHead; while (now.next != null) { now = now.next; } now.next = head; head.next = null; return newHead; }

Guess you like

Origin www.cnblogs.com/wmxl/p/11291754.html
Recommended