【力扣hot100题】两两交换链表中的节点(25)

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。

示例 1:

复制代码
输入:head = [1,2,3,4]
输出:[2,1,4,3]

示例 2:

复制代码
输入:head = []
输出:[]

示例 3:

复制代码
输入:head = [1]
输出:[1]

提示:

  • 链表中节点的数目在范围 [0, 100] 内
  • 0 <= Node.val <= 100
cpp 复制代码
class Solution {
public:
    ListNode* swapPairs(ListNode* head) {
        if (head == nullptr || head->next == nullptr) {
            return head;
        }
        ListNode* newHead = head->next;
        head->next = swapPairs(newHead->next);
        newHead->next = head;
        return newHead;
    }
};
相关推荐
浮链序4 小时前
怎么证明"你这个模型是偷我的"——把蒸馏变成取证工具
算法·安全·llm
小O的算法实验室4 小时前
IEEE TMC,面向异构物联网的多目标量子行为拓扑优化算法
算法
圣保罗的大教堂5 小时前
leetcode 301. 删除无效的括号 困难
leetcode
liliangcsdn5 小时前
派息率指标的应用探索和分析
大数据·算法
垆边人似月.5 小时前
华为机试题 :两数之和
c++·算法·华为
默默开发5 小时前
物流行业可用算法方向
算法
垆边人似月.5 小时前
华为机试题 :有效的括号
c++·算法·华为
A加ITIL教练长河achotsao6 小时前
ITIL Master 战略领导者课后系列分享:AI编程正在重新划分研发与运维的边界
算法
hahaha60166 小时前
FPGA+ARM实现AWB的全流程
人工智能·嵌入式硬件·算法·计算机视觉·fpga开发
李洱6 小时前
LangChain 和 LangGraph 的区别:核心原理与使用场景
算法