题解 | #链表内指定区间反转#

链表内指定区间反转

https://www.nowcoder.com/practice/b58434e200a648c589ca2063f1faf58c

思路:把握住四个点:
1.链表的起始节点
2.链表反转前的节点cur
3.链表反转后的起始节点thead
4.链表反转后的末端节点tback
1)将cur->next指向反转后的起始节点
cur->next = thead
2)将链表反转后的节点tback指向更新后的head
tback->next = head
3)需要注意的是当m为1的时候,返回链表反转后的起始节点thead,其他时间则返回链表的起始节点nhead
return cur == nullptr? thead : nhead;

class Solution {
public:
    /**
     * 
     * @param head ListNode类 
     * @param m int整型 
     * @param n int整型 
     * @return ListNode类
     */
    ListNode* reverseBetween(ListNode* head, int m, int n) {
        // write code here
        if(m == n) return head;
        int index = -1;
        ListNode* cur = nullptr;
        ListNode* nhead = head;
        ListNode* thead = nullptr;
        ListNode* tback = nullptr;
        while(true){
            //将这里的index放到m-1的位置就停止
            while(index<m-2){
                index++;
                cur = head;
                head = head->next;
            }
            //将index放到n-1的位置处停止,cur不动,新建一个链表
            while(index < n-1){
                index++;
                ListNode* temp = head->next;
                head->next = thead;
                if(thead == nullptr) tback = head;
                thead = head;
                head = temp;
            }
            if(cur!= nullptr) cur->next = thead;
            tback->next = head;
            break;
        }
        //防止从一开始就是空指针,nHead无法更新自己,必须要将前导是否为0,即m=1的情况下隔离开来
        return cur == nullptr? thead : nhead;
    }
};


#神仙公司的日常#
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
6802次浏览 65人参与
# 你的实习产出是真实的还是包装的? #
1339次浏览 33人参与
# MiniMax求职进展汇总 #
23259次浏览 303人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7141次浏览 37人参与
# 简历第一个项目做什么 #
31342次浏览 316人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
186568次浏览 1115人参与
# 巨人网络春招 #
11224次浏览 223人参与
# 研究所笔面经互助 #
118800次浏览 577人参与
# 面试紧张时你会有什么表现? #
30418次浏览 188人参与
# 简历中的项目经历要怎么写? #
309629次浏览 4168人参与
# 职能管理面试记录 #
10726次浏览 59人参与
# AI时代,哪些岗位最容易被淘汰 #
62817次浏览 752人参与
# 网易游戏笔试 #
6387次浏览 83人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
7023次浏览 154人参与
# 腾讯音乐求职进展汇总 #
160448次浏览 1107人参与
# 从哪些方向判断这个offer值不值得去? #
56714次浏览 357人参与
# 正在春招的你,也参与了去年秋招吗? #
362782次浏览 2632人参与
# 你怎么看待AI面试 #
179476次浏览 1186人参与
# 小红书求职进展汇总 #
226924次浏览 1357人参与
# 你的房租占工资的比例是多少? #
92153次浏览 896人参与
# 校招笔试 #
467993次浏览 2955人参与
# 经纬恒润求职进展汇总 #
155727次浏览 1085人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务