自学内容网 自学内容网

【LeetCode热题100】【链表】两两交换链表中的节点

题目链接:24. 两两交换链表中的节点 - 力扣(LeetCode)

实际上是两个两个一组颠倒顺序,可以用k=2使用【LeetCode热题100】【链表】K 个一组翻转链表-CSDN博客

但可以更简单,就先看两个,先取第二个的指针,递归颠倒第二个后面的节点,链接到第一个节点上,然后把第一个节点链接到第二个节点上,返回第二个节点指针

class Solution {
public:
    ListNode *swapPairs(ListNode *head) {
        if (head == nullptr || head->next == nullptr)
            return head;
        ListNode *temp = head->next;
        head->next = swapPairs(temp->next);
        temp->next = head;
        return temp;
    }
};

原文地址:https://blog.csdn.net/weixin_62264287/article/details/137692646

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!