lc24两两交换链表中的节点

递归法。
官方题解非常好理解,head是每一组的第一个节点,newHead是每一组的第二个节点,思路是将head的next指向下一组的头节点,将newHead的next指向head,并且返回newHead,这样就完成了每一组两两相邻的交换。

var swapPairs = function(head) {
    if(head===null||head.next==null) return head
    var newHead=head.next
    head.next=swapPairs(newHead.next)
    newHead.next=head
    return newHead
};

你可能感兴趣的:(javascript,leetcode,链表,数据结构)