Linked List

Reverse Linked List In Pairs

要用 iterative 的方法实现

N < 1 < 2 < 3 < 4

t n

p

public LinkedList reverse(ListNode head){
 if(head == null){
  return null;
 }
 ListNode tmp = head;
 ListNode prev = null;
 while(tmp!= null){
  ListNode next = tmp.next;
  tmp.next = prev;
  prev = tmp;
  tmp= next;
 }
 return prev;
       
}

reverse

public ListNode reverse(ListNode head){
    if(head == null || head.next == null){
        return head;
    }
    ListNode newHead = reverse(head.next)'
    head.next.next = head;
    head.next = null;
    return newHead;
}

Last updated