92. Reverse Linked List II(链表局部逆序**)
来源:互联网 发布:果蔬清洗机有用吗 知乎 编辑:程序博客网 时间:2024/05/27 14:13
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->NULL, m = 2 and n = 4,return 1->4->3->2->5->NULL.
此问题看似简单,实际很麻烦,如果不使用二级指针,那么如果链表仅有两项,并且要求m=1,n=2,那么我们无从存储prev,还要考虑多种情况。使用二级指针可以简化:
class Solution {public: ListNode* reverseBetween(ListNode* head, int m, int n) { if(head == NULL || m == n) return head; ListNode** pp = &head; for(int i=1; i<m; ++i) pp = &((*pp)->next); ListNode* end = *pp; ListNode* prev = NULL; for(int i=m; i<=n; ++i){ ListNode* cur = (*pp); (*pp) = (*pp)->next; cur->next = prev; prev = cur; } end->next = *pp; *pp = prev; return head; }};
0 0
- 92. Reverse Linked List II(链表局部逆序**)
- 92.leetcode Reverse Linked List II(medium)[链表逆序]
- Reverse Linked List II 局部翻转链表@LeetCode
- leetcode——Reverse Linked List II 选择链表中部分节点逆序(AC)
- LeetCode 92. Reverse Linked List II(翻转链表)
- LeetCode OJ 之 Reverse Linked List (链表逆序)
- LeetCode 92 Reverse Linked List II(翻转链表II)(Linked List)(*)
- 92. Reverse Linked List II(python)
- 92. Reverse Linked List II(unsolved)
- 92. Reverse Linked List II(链表)
- 92. Reverse Linked List II【遍历一遍就反转链表】
- leetcode 92. Reverse Linked List II 反转链表
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- 92. Reverse Linked List II
- how to debug c problem
- web前端表格学习
- python记事
- Java:String使用equals和==比较的区别(转)
- 3年工作经验你的程序员应该具备的技能
- 92. Reverse Linked List II(链表局部逆序**)
- shopex 产品 激活码一类问题
- Java动态代理
- 一种快速刷新richedit中内嵌动画的方法的实现
- 基于数据融合和串级PID的小型四旋翼无人机高度测量与控制系统
- Python中有用的工具(一)
- 机器学习中的covariate shift现象的解释
- 十一,iOS中的按钮数字红点提示
- Android多媒体(音乐播放器)实例