博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
92:Reverse Linked List II翻转链表【链表】
阅读量:5163 次
发布时间:2019-06-13

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

题目连接:

/*题意:将链表中第m到n个结点翻转 *//** *思路:为更好处理表头和第m个结点,引入root结点,同时记录 *      第m-1个结点。从第m个结点开始遍历至第n个结点,将已经 *      遍历过的结点插入在第m-1个结点后,并保证第m个结点的next *      指向遍历结点的next,以避免链表断裂 */class Solution {public:    ListNode *reverseBetween(ListNode *head, int m, int n) {        ListNode *root = new ListNode(0);        root->next = head;        ListNode *mNode = new ListNode(0);        ListNode *pre = root , *curr = head;        for(int i = 1; i <= n; i ++) {            if(i == m) mNode = curr;  //记录第m个结点            if(i < m) pre = curr;     //记录第m-1个结点            ListNode *next = curr->next;            if(i > m && i <= n) {                mNode->next = next;   //避免链表断裂                curr->next = pre->next;                pre->next = curr;            }            curr = next;        }        return root->next;    }};

  

转载于:https://www.cnblogs.com/jzmzy/p/4398989.html

你可能感兴趣的文章
ORA-12560: TNS: 协议适配器错误 ORA-12154: TNS: 无法解析指定的连接标识符
查看>>
读书印记 - 《菊与刀》
查看>>
第一个小demo: spring boot + mybatis + thymeleaf
查看>>
mysql获取字段信息
查看>>
Tomcat 网站部署(三)
查看>>
JS实现全选与取消 Jquery判断checkbox是否被选中
查看>>
如果重新设计网络,有没有可能合并IP地址跟MAC地址?
查看>>
德州扑克总纲
查看>>
linux下password的用法
查看>>
[poj1986]Distance Queries(LCA)
查看>>
BPM配置故事之案例11-操作外部数据源
查看>>
uniGUI试用笔记(一)
查看>>
漫谈python中的搜索/排序
查看>>
js_类数组转化为数组
查看>>
centos 7 安装 rvm 超时
查看>>
类库间无项目引用时,在编译时拷贝DLL
查看>>
module 'socket' has no attribute的解决方案
查看>>
Java NIO vs. IO
查看>>
BIO、NIO、AIO通信机制
查看>>
STL priority_queue<> 用法 <转>
查看>>