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;
    }
    
}
相关推荐
山楂树の7 小时前
图像标注大坑:img图片 + Canvas 叠加标注,同步放大后标注位置偏移、对不齐?详解修复方案及亚像素处理原理
前端·css·学习·canva可画
本山德彪7 小时前
我做了一个拼豆图纸生成器,把照片秒变图纸
前端
one_love_zfl7 小时前
java面试-微服务组件篇
java·微服务·面试
一只大袋鼠7 小时前
Java进阶:CGLIB动态代理解析
java·开发语言
_守一7 小时前
UE DS+Nakama进行游戏服务器开发(1)源码编译nakama
服务器·游戏
原来是猿7 小时前
【Socket编程预备知识】
linux·运维·服务器·网络
环流_7 小时前
HTTP 协议的基本格式
java·网络协议·http
爱滑雪的码农8 小时前
Java基础十三:Java中的继承、重写(Override)与重载(Overload)详解
java·开发语言
【 】4238 小时前
C++&STL(Standard Template Library,标准模板库)
java·开发语言·c++
茉莉玫瑰花茶8 小时前
LangChain 核心组件 [ 2 ]
java·数据库·langchain