Given 1->2->3->4,
you should return the list as 2->1->4->3.
如题给出一串链表然后改变他们两两的顺序
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode swapPairs(ListNode head) {
ListNode result=new ListNode(0); //创建一个首节点
result.next=head;//创建一个头节点
ListNode dummy=result;//这个是最后return的时候用到的
while(head!=null&&head.next!=null){ //这是交换偶数个两两数
ListNode temp=head.next; //下面的四行代码可以用一个图表示
result.next=temp;
head.next=temp.next;
temp.next=head;
head=head.next;
result=result.next.next;
}
return dummy.next;
}
}