题目描述:
给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
解析:
按照这六步走即可。
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; };