给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
示例:输入: head = [1, 2, 3, 4] 输出: [2,1,4,3]
代码:
public class SwapNode {
public static Node swapNode(Node head) {
Node dummyHead = new Node(-1);
dummyHead.next = head;
Node cur = head;
while(cur.next != null && cur.next.next != null) {
Node tmp1 = cur.next;
Node tmp2 = cur.next.next.next;
cur.next = cur.next.next;
cur.next.next = tmp1;
cur.next.next.next = tmp2;
cur = cur.next.next;
}
return dummyHead.next;
}
}