博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Reverse Linked List II
阅读量:6907 次
发布时间:2019-06-27

本文共 1153 字,大约阅读时间需要 3 分钟。

Reverse a linked list from position m to n. Do it in-place and in one-pass.

For example:

Given 1->2->3->4->5->NULLm = 2 and n = 4,

return 1->4->3->2->5->NULL.

Note:

Given mn satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.

翻转完毕之后,记得处理下头尾即可

代码:

class Solution {public:    ListNode *reverseBetween(ListNode *head, int m, int n) {        if(head==NULL) return head;        //加一个哨兵        ListNode* headTag=new ListNode(0);        headTag->next=head;        ListNode* prep=headTag;        ListNode* p=headTag;        ListNode* q=headTag;        int prepStep2=m-1;        int qSteps=n-m;        while (prepStep2>0)        {            prep=prep->next;            --prepStep2;        }        p=prep->next;        q=p->next;        ListNode* temp;        ListNode* tempFirst=p;        bool firstTag=true;        while (qSteps)        {            temp=q->next;            q->next=p;            if(firstTag) {p->next=NULL;firstTag=false;}            p=q;            q=temp;            --qSteps;        }        prep->next=p;        tempFirst->next=q;        return headTag->next;    }};

 

转载于:https://www.cnblogs.com/fightformylife/p/4242432.html

你可能感兴趣的文章
UML类图几种关系的总结,泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
查看>>
Intellij Idea 2016 配置Tomcat虚拟目录
查看>>
Android 调整透明度的图片查看器
查看>>
一个开源的仓储系统
查看>>
5.24 Declaring Attributes of Functions【转】
查看>>
利用SCORE法则来总结一次偷懒的单元测试过程
查看>>
angular中的 登录检查 和 过期Session清理
查看>>
基于FormsAuthentication的用户、角色身份认证
查看>>
阿里云-DRDS(转)
查看>>
Lua协程-测试3
查看>>
009-java中常用的单个键值对
查看>>
微软为AJAX和jQuery类库提供CDN服务
查看>>
LuoYun 开源云计算平台软件 0.2 Beta 版本发布 — LinuxTOY
查看>>
约会你的私人定制
查看>>
MD5 加密的两种方法
查看>>
Winfrom 控件移位绘制垂直、水平线
查看>>
如何开启to 日志
查看>>
android和iOS平台的崩溃捕获和收集
查看>>
sql执行计划[Oracle] 变量绑定
查看>>
[Swift A] - Welcome to Swift
查看>>