标签:linkedlist 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.
简单粗暴,首先让p指向第一个节点,若果p.next不为空,q指向p.next,交换p和q的值即可,如果p.next为空,退出。交换值后,让q.next赋值给p,如果q.next为空的话,退出循环。
public ListNode swapPairs(ListNode head) { if(head==null||head.next==null) return head; ListNode pListNode=head,qListNode=null; int temp=0; while(pListNode.next!=null) { qListNode=pListNode.next; temp=pListNode.val; pListNode.val=qListNode.val; qListNode.val=temp; if(qListNode.next==null) break; else pListNode=qListNode.next; } return head; }
24_leetcode_Swap Nodes in Pairs
标签:linkedlist swap nodes in pairs
原文地址:http://blog.csdn.net/mnmlist/article/details/43370269