思路:
放入集合中两两交换,然后再重新构建链表可以解决。但是不是最优方案
第二种方式如下:
代码如下:
public ListNode swapPairs(ListNode head) {
if (head==null||head.next==null){
return head;
}
ListNode dummy = new ListNode(0);
dummy.next=head;
ListNode prev=dummy;
while (head!=null&&head.next!=null){
ListNode first=head;
ListNode second=head.next;
prev.next=second;
second.next=first;
first.next=second.next;
prev=first;
head=first.next;
}
return dummy.next;
}