题目描述:
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
解析:
按照这六步走即可。
Java:
public ListNode swapPairs(ListNode head) {
ListNode dummy = new ListNode(0);
dummy.next = head;
ListNode current = dummy;
while(current.next != null && current.next.next != null) {
ListNode n1 = current.next;
ListNode n2 = current.next.next;
current.next = n2;
n1.next = n2.next;
n2.next = n1;
current = n1;
}
return dummy.next;
}JavaScript:
var swapPairs = function(head) {
let dummy = new ListNode();
dummy.next = head;
let current = dummy;
while(current.next !== null && current.next.next !== null) {
let n1 = current.next;
let n2 = current.next.next;
current.next = n2;
n1.next = n2.next;
n2.next = n1;
current = n1;
}
return dummy.next;
};
京公网安备 11010502036488号