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;
    }
    
}
相关推荐
时艰.12 分钟前
JVM 垃圾收集器(G1&ZGC)
java·jvm·算法
秋秋小事15 分钟前
可选链与非空操作符
前端
iRuriCatt33 分钟前
智慧景区管理系统 | 计算机毕设项目
java·前端·spring boot·vue·毕设
天空属于哈夫克31 小时前
企业微信外部群运营升级:API 主动推送消息开发实战
java·数据库·mysql
qq_12498707531 小时前
基于springboot的会议室预订系统设计与实现(源码+论文+部署+安装)
java·vue.js·spring boot·后端·信息可视化·毕业设计·计算机毕业设计
程序员清洒1 小时前
Flutter for OpenHarmony:Icon 与 IconButton — 图标系统集成
前端·学习·flutter·华为
愿你天黑有灯下雨有伞1 小时前
java动态渲染列导出以及分页列表
java
星火开发设计1 小时前
共用体 union:节省内存的特殊数据类型
java·开发语言·数据库·c++·算法·内存
2301_803554521 小时前
阻塞,非阻塞,同步,异步以及linux上的5种IO模型阻塞,非阻塞,信号驱动,异步,IO复用
java·服务器·网络
Genie cloud1 小时前
外贸独立站建站完整教程
服务器·数据库·云计算