力扣面试150 反转链表 II 三指针

Problem: 92. 反转链表 II

👨‍🏫 参考题解

  • 特殊情况
Java 复制代码
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    ListNode reverseBetween(ListNode head, int left, int right) {
        ListNode dummy = new ListNode(0, head);// 
        ListNode p0 = dummy;
        for(int i = 0; i < left - 1; i++)
            p0 = p0.next;
        ListNode pre = null;
        ListNode cur = p0.next; // 局部链表的第一个节点
        // 循环反转局部的链表
        for(int i = 0; i < right - left + 1; i++)
        {
            ListNode nxt = cur.next;
            cur.next = pre;
            pre = cur;
            cur = nxt;
        }
        // 处理局部链表的首尾与整体链表的衔接
        p0.next.next = cur;// p0.next 是局部链表的第一个节点
        p0.next = pre;//pre 局部链表的最后一个节点
        return dummy.next;
    }
}
相关推荐
EnticE1523 小时前
[高阶数据结构]二叉树经典面试题
数据结构·算法·面试
Attacking-Coder3 小时前
前端面试宝典---webpack面试题
前端·面试·webpack
MarkHard1233 小时前
Leetcode (力扣)做题记录 hot100(34,215,912,121)
算法·leetcode·职场和发展
_星辰大海乀4 小时前
数据库约束
java·数据结构·数据库·sql·链表
Kidddddult5 小时前
力扣刷题Day 46:搜索二维矩阵 II(240)
算法·leetcode·力扣
前端小巷子6 小时前
CSS3 遮罩
前端·css·面试·css3
什码情况7 小时前
星际篮球争霸赛/MVP争夺战 - 华为OD机试真题(A卷、Java题解)
java·数据结构·算法·华为od·面试·机试
Phoebe鑫8 小时前
数据结构每日一题day17(链表)★★★★★
数据结构·链表
chenyuhao20248 小时前
链表面试题7之相交链表
数据结构·算法·链表·面试·c#
牛马baby9 小时前
Java高频面试之并发编程-16
java·开发语言·面试