力扣面试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;
    }
}
相关推荐
bybitq2 小时前
Leetcode-3780-Python
python·算法·leetcode
如何原谅奋力过但无声2 小时前
【力扣-Python-75】颜色分类(middle)
python·算法·leetcode
玖剹2 小时前
哈希表相关题目
数据结构·c++·算法·leetcode·哈希算法·散列表
Java水解2 小时前
MySQL索引分析以及相关面试题
后端·mysql·面试
掘金安东尼2 小时前
顶层元素问题:popover vs. dialog
前端·javascript·面试
掘金安东尼2 小时前
React 的新时代已经到来:你需要知道的一切
前端·javascript·面试
掘金安东尼3 小时前
TypeScript 严格性是非单调的:strict-null-checks 和 no-implicit-any 的相互影响
前端·面试
练习时长一年3 小时前
LeetCode热题100(最小栈)
java·算法·leetcode
马卡巴卡3 小时前
线程数突增!领导:谁再这么写就滚蛋!
面试
Tisfy3 小时前
LeetCode 955.删列造序 II:模拟(O(mn)) + 提前退出
算法·leetcode·字符串·题解·遍历