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;
    }
};
相关推荐
chao_78940 分钟前
回溯题解——子集【LeetCode】二进制枚举法
开发语言·数据结构·python·算法·leetcode
GEEK零零七1 小时前
Leetcode 1070. 产品销售分析 III
sql·算法·leetcode
凌肖战1 小时前
力扣网编程274题:H指数之普通解法(中等)
算法·leetcode
Y1nhl4 小时前
力扣_链表_python版本
开发语言·python·算法·leetcode·链表·职场和发展
手握风云-5 小时前
优选算法的链脉之韵:链表专题
数据结构·算法·链表
Swift社区7 小时前
Swift 解 LeetCode 320:一行单词有多少种缩写可能?用回溯找全解
开发语言·leetcode·swift
雾里看山13 小时前
顺序表VS单链表VS带头双向循环链表
数据结构·链表
YuTaoShao16 小时前
【LeetCode 热题 100】48. 旋转图像——转置+水平翻转
java·算法·leetcode·职场和发展
学不动CV了1 天前
数据结构---链表结构体、指针深入理解(三)
c语言·arm开发·数据结构·stm32·单片机·链表
百年孤独_1 天前
LeetCode 算法题解:链表与二叉树相关问题 打打卡
算法·leetcode·链表