Swap Nodes in Pairs NO 24

Java Solution

Posted by Captain Nimo 1 month ago

Question

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.

Code

 public ListNode swapPairs(ListNode head){  
  ListNode original=new ListNode(0);  
  original.next=head;  
  head=original;  
  //  
  while(head.next!=null&&head.next.next!=null){  
   ListNode n1=head.next,n2=head.next.next;  
   head.next=n2;  
   n1.next=n2.next;  
   n2.next=n1;  
   head=n1;  
  }  
  return original.next;  
 }