题目链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/submissions/
越来越顺手了,这题反正今天越做越快(●’◡’●)
class Solution {
public ListNode swapPairs(ListNode head) {
if(head == null) return null;
if(head.next == null) return head;
ListNode dummyNode = new ListNode(-1, head);
ListNode left = dummyNode;
ListNode mid = head;
ListNode right = null;
while(left.next != null){
mid = left.next;
right = left.next.next;
if(right == null) return dummyNode.next;//排除单数的节点
//开始交换
mid.next = right.next;
right.next = mid;
left.next = right;
//交换结束,左指针移至下一段
left = left.next.next;
}
return dummyNode.next;
}
}