# Linked List

## Reverse Linked List In Pairs

要用 iterative 的方法实现

N  <  1 <   2  <  3 <   4

&#x20;                                      t    n

&#x20;                              p

```java
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

![](https://3169941669-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-M1EdxtEZWsdM5mrgEPz%2F-M1ojHE1Zap-2sbbqyPS%2F-M1okdXE4r6t6aKlA4AR%2Freverse.JPG?alt=media\&token=f54aed11-baca-4b9b-9cc2-4f9afca22e4a)

```java
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;
}
```
