LeetCode 92.反转链表II

题目

给你单链表的头指针 head 和两个整数 leftright ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表

方法:灵神 反转链表

代码:

java 复制代码
class Solution {
    public ListNode reverseBetween(ListNode head, int left, int right) {
        ListNode dummy = new ListNode(0, head), p0 = dummy;
        int n = left - 1;
        while (n-- > 0) {
            p0 = p0.next; // p0 保存开始翻转的前一个节点,后面操作需要用到
        }
        ListNode pre = null, cur = p0.next;
        for (int i = 0; i < (right - left + 1); i++) {
            ListNode next = cur.next;
            cur.next = pre;
            pre = cur;
            cur = next;
        }
        p0.next.next = cur;
        p0.next = pre;
        return dummy.next;
    }
}
相关推荐
m0_71676523几秒前
数据结构三要素、时间复杂度计算详解
开发语言·数据结构·c++·经验分享·笔记·算法·visual studio
米粒14 分钟前
力扣算法刷题 Day 36
算法·leetcode·职场和发展
And_Ii7 分钟前
3740. 三个相等元素之间的最小距离 I
c++·算法
csuzhucong7 分钟前
puzzle(0334)双面数局
数据结构·算法
强盛机器学习~8 分钟前
2026年SCI一区新算法-贝塞尔曲线优化算法(BCO)-公式原理详解与性能测评 Matlab代码免费获取
算法·matlab·进化计算·智能优化算法·元启发式算法·群体智能算法
翟天保Steven10 分钟前
空间载波移相干涉算法(SPSI)
算法·激光干涉·精密量测
xin_nai15 分钟前
判断质数(Java版)
算法
W230357657330 分钟前
经典算法详解:最大子数组和(暴力 / 分治 / 动态规划 / 线段树)
算法·动态规划·最大字段和
呼啦啦56131 分钟前
leetcode练习——栈和队列
算法·leetcode·职场和发展
yugi98783843 分钟前
基于最大信息熵的粒子群优化算法图像分割(MATLAB实现)
开发语言·算法·matlab