Given a linked list, swap every two adjacent nodes and return its head.
Example:
Given1->2->3->4->5->6
, you should return the list as2->1->4->3->6->5
.
Note:
- Your algorithm should use only constant extra space.
- You may not modify the values in the list's nodes, only nodes itself may be changed.
code:
public ListNode swapPairs(ListNode head) { if(head==null||head.next==null) return head; ListNode result=head.next; ListNode node=head.next; head.next=node.next; node.next=head; while(head.next!=null){ node=head.next; if(node.next!=null){ head.next=node.next; node.next=head.next.next; head.next.next=node; head=node; }else{ break; } } return result; }