递归法。
官方题解非常好理解,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
};

这篇博客介绍了如何使用递归方法实现链表中每两个节点的相邻交换。通过设置head为当前组的第一个节点,newHead为每个组的第二个节点,将head的next指针指向下一组的头节点,然后更新newHead的next指针指向head,最终返回newHead,完成链表节点的交换操作。
299

被折叠的 条评论
为什么被折叠?



