LC24. 两两交换链表中的节点

代码随想录

java 复制代码
class Solution {
    // 举例子:假设两个节点 1 -> 2
    // 那么 head = 1; next = 2; next.next = null
    // 那么swapPairs(next.next),传入的是null,再下一次递归中直接返回null
    // 因此 newNode = null
    // 所以 next.next = head; => 2.next = 1; 2 -> 1
    //      head.next=  newNode; => 1.next = null; 1->null
    // 所以 2->1->null
    // 最终返回 next,即返回 2
    public ListNode swapPairs(ListNode head) {
        
        if(head == null || head.next == null)
            return head;

        ListNode next = head.next;

        ListNode newNode = swapPairs(next.next);


        next.next = head;

        head.next = newNode;

        return next;
    }
    
}
相关推荐
╰つ゛木槿几秒前
深入探索 Vue 3 Markdown 编辑器:高级功能与实现
前端·vue.js·编辑器
gentle_ice11 分钟前
leetcode——矩阵置零(java)
java·算法·leetcode·矩阵
yqcoder19 分钟前
Commander 一款命令行自定义命令依赖
前端·javascript·arcgis·node.js
HaoHao_01027 分钟前
AWS Snowball
服务器·云计算·aws·云服务器
前端Hardy36 分钟前
HTML&CSS :下雪了
前端·javascript·css·html·交互
醉の虾42 分钟前
VUE3 使用路由守卫函数实现类型服务器端中间件效果
前端·vue.js·中间件
whisperrr.1 小时前
【JavaWeb06】Tomcat基础入门:架构理解与基本配置指南
java·架构·tomcat
dot to one1 小时前
Linux 入门 常用指令 详细版
linux·服务器·centos
码上飞扬2 小时前
Vue 3 30天精进之旅:Day 05 - 事件处理
前端·javascript·vue.js
火烧屁屁啦2 小时前
【JavaEE进阶】应用分层
java·前端·java-ee