LeetCode 92. Reverse Linked List II ***** 虚拟头结点
来源:互联网 发布:吹笛子软件下载 编辑:程序博客网 时间:2024/05/29 19:04
- 题目
- 题意
- 注意
- 思路
- 代码
- 题目
题目
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.
Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.
题意
翻转指定区间的元素,尽管和Reverse Linked List类似,但是还是有本质上区别。
注意
m和n超过链表范围怎么办
m>n怎么办
思路
1.首先建立虚拟头结点的链表
2.找到区间[m,n]的前一个元素m-1
3.在区间内做反转操作。cur指向的区间内的第一个元素,反转cur->next元素。
4.最终的实现效果,不断向pre后插入cur后的元素,直到cur移动到区间末尾。
代码
class Solution {public: ListNode* reverseBetween(ListNode* head, int m, int n) { //虚拟头结点 ListNode *new_head = new ListNode(0); new_head->next = head; ListNode *pre = new_head; //1.找到区间内的前一个元素 for(int i=0;i<m-1;i++) { pre = pre->next; } //2.获取区间内的第一个元素 ListNode *cur = pre->next; //3.在区间内做反转操作 for(int i=0;i<n-m;i++) { ListNode *move = cur->next; cur->next = move->next; move->next = pre->next; pre->next = move; } //return head; return new_head->next; }};
阅读全文
0 0
- LeetCode 92. Reverse Linked List II ***** 虚拟头结点
- [LeetCode]206. Reverse Linked List&92. Reverse Linked List II
- LeetCode 206. Reverse Linked List && 92. Reverse Linked List II
- 92. Reverse Linked List II leetcode list
- LeetCode 203. Remove Linked List Elements *****虚拟头结点
- [LeetCode]92.Reverse Linked List II
- LeetCode 92. Reverse Linked List II
- [Leetcode] 92. Reverse Linked List II
- LeetCode --- 92. Reverse Linked List II
- [leetcode] 92.Reverse Linked List II
- [leetcode] 92. Reverse Linked List II
- 92. Reverse Linked List II LeetCode
- leetcode 92. Reverse Linked List II
- Leetcode 92. Reverse Linked List II
- LeetCode 92. Reverse Linked List II
- [LeetCode] 92. Reverse Linked List II
- LeetCode *** 92. Reverse Linked List II
- Leetcode 92. Reverse Linked List II
- 数据链表
- PHP中生成PNG图片的方法
- BroadCastReceiver使用总结
- 结合网上的图形验证码思路和方案,弄了一个比较复杂的图形验证码工具,可以比较有效防OCR
- opencv学习笔记(2)----颜色缩减(使用指针遍历图像)
- LeetCode 92. Reverse Linked List II ***** 虚拟头结点
- Javascript中的原型、原型链、继承
- 判断字符是否出现
- 2016传智SSH框架CRM项目(5天)笔记(2017年5月20日22:11:15)
- cover(AHOI第一题)
- 第一天——项目的背景+框架搭建
- RAII惯用法:C++资源管理的利器
- Leetcode 392(Java)
- Hibernate查询方式(many to many)