力扣面试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;
    }
}
相关推荐
We་ct20 分钟前
LeetCode 1. 两数之和:两种高效解法(双指针 + Map)
前端·算法·leetcode·typescript·哈希算法
YuTaoShao31 分钟前
【LeetCode 每日一题】3640. 三段式数组 II——(解法二)DP
算法·leetcode·职场和发展
TracyCoder1231 小时前
LeetCode Hot100(25/100)——2. 两数相加(链表)
算法·leetcode·链表
阿蔹1 小时前
力扣面试题二Python
python·算法·leetcode·职场和发展
元亓亓亓1 小时前
LeetCode热题100--169. 多数元素--简单
算法·leetcode·职场和发展
We་ct2 小时前
LeetCode 202. 快乐数:题解+思路拆解
前端·算法·leetcode·typescript
芝士爱知识a11 小时前
2026年AI面试软件推荐
人工智能·面试·职场和发展·大模型·ai教育·考公·智蛙面试
石去皿12 小时前
大模型面试通关指南:28道高频考题深度解析与实战要点
人工智能·python·面试·职场和发展
C雨后彩虹12 小时前
CAS与其他并发方案的对比及面试常见问题
java·面试·cas·同步·异步·
美团程序员12 小时前
80道经典常见测试面试题
软件测试·面试·职场和发展·软件测试面试