首页 > 代码库 > [Leetcode] Swap Nodes in Pairs

[Leetcode] Swap Nodes in Pairs

Given a linked list, swap every two adjacent nodes and return its head.

For example,
Given 1->2->3->4, you should return the list as 2->1->4->3.

Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.

 

 1 /** 2  * Definition for singly-linked list. 3  * public class ListNode { 4  *     int val; 5  *     ListNode next; 6  *     ListNode(int x) { 7  *         val = x; 8  *         next = null; 9  *     }10  * }11  */12 public class Solution {13     public ListNode swapPairs(ListNode head) {14          ListNode dummy=new ListNode(0);15         dummy.next=head;16         ListNode cur=dummy;17         while(cur.next!=null&&cur.next.next!=null){18             ListNode nextNode=cur.next.next;19             cur.next.next=nextNode.next;20             nextNode.next=cur.next;21             cur.next=nextNode;22             cur=cur.next.next;23         }24         return dummy.next;25     }26 }

 

[Leetcode] Swap Nodes in Pairs