leetCode.92. 反转链表 II

leetCode.92. 反转链表 II


题目思路


代码

cpp 复制代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode() : val(0), next(nullptr) {}
 *     ListNode(int x) : val(x), next(nullptr) {}
 *     ListNode(int x, ListNode *next) : val(x), next(next) {}
 * };
 */
class Solution {
public:
    ListNode* reverseBetween(ListNode* head, int m, int n) {
        auto dummy = new ListNode( -1 );
        dummy->next = head;

        auto a = dummy;
        for ( int i = 0; i < m - 1; ++ i ) a = a->next;
        auto b = a->next;
        auto c = b->next;

        for ( int i = 0; i < n - m; ++ i ) {
            auto t = c->next;
            c->next = b;
            b = c;
            c = t;
        }

        a->next->next = c;
        a->next = b;

        return dummy->next;
    }
};
相关推荐
mask哥2 小时前
力扣算法java实现汇总整理(上)
java·算法·leetcode
流年如夢6 小时前
栈和列队(LeetCode)
数据结构·算法·leetcode·链表·职场和发展
星星码️11 小时前
LeetCode刷题简单篇之反转字母
c++·算法·leetcode
YL2004042613 小时前
027合并两个有序链表
java·数据结构·算法·链表
炽烈小老头13 小时前
【每天学习一点算法 2026/05/10】合并K个排序链表
学习·算法·链表
sheeta199815 小时前
LeetCode 每日一题笔记 日期:2026.05.10 题目:2770. 达到末尾下标所需的最大跳跃次数
笔记·算法·leetcode
shehuiyuelaiyuehao16 小时前
算法21,搜索插入位置
python·算法·leetcode
_深海凉_16 小时前
LeetCode热题100-回文链表
算法·leetcode·链表
小雅痞16 小时前
[Java][Leetcode middle] 54. 螺旋矩阵
java·leetcode·矩阵
星恒随风16 小时前
C语言链表详解:从单链表到双向链表
c语言·开发语言·链表