LeetCode--Reverse Linked List II
来源:互联网 发布:php 打印数组的函数 编辑:程序博客网 时间:2024/06/05 20:36
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.
思路:头插法。这是一个翻转链表题目的扩展,在头插法的基础上考虑在一个区间内反转。那么,首先要找到prev指针,然后确定3个指针head2,prev,cur的位置,头插法把cur指针内容插到head2后面,然后更新cur指针。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* reverseBetween(ListNode* head, int m, int n) { ListNode dummy(0); dummy.next=head; ListNode *prev=&dummy; for(int i=0;i<m-1;i++){ prev=prev->next; } ListNode *head2=prev; prev=head2->next; ListNode *cur=prev->next; for(int i=m;i<n;i++){ prev->next=cur->next; cur->next=head2->next; head2->next=cur; cur=prev->next; } return dummy.next; }};
阅读全文
0 0
- LeetCode[Linked List]: Reverse Linked List II
- LeetCode: Reverse Linked List II
- LeetCode: Reverse Linked List II
- [LeetCode] Reverse Linked List II
- [Leetcode] Reverse Linked List II
- [LeetCode]Reverse Linked List II
- Leetcode: Reverse Linked List II
- [Leetcode]Reverse Linked List II
- [leetcode]Reverse Linked List II
- LeetCode-Reverse Linked List II
- LeetCode Reverse Linked List II
- [leetcode] Reverse Linked List II
- LeetCode - Reverse Linked List II
- [LeetCode] Reverse Linked List II
- LeetCode | Reverse Linked List II
- 【leetcode】Reverse Linked List II
- Leetcode: Reverse Linked List II
- leetcode Reverse Linked List II
- java 通过数字生成字母
- sqlserver数据库中有参数有返回值的存储过程
- boa服务器的搭建
- 进入MAC下的Containers文件夹
- 鲜为人知的 Linux 命令(1)
- LeetCode--Reverse Linked List II
- Linux删除软链接
- 癫狂的dom——利用css3让dom动起来
- 全栈才是王道:配置阿里云服务器
- 关于Unsupported major.minor version 52.0 错误的解决方案
- 最简单的PHP接入微信消息事件
- 51 nod 1095 Anigram单词 利用map处理hash问题
- RecyclerView的常用分割线
- Spring Boot 配置文件 – 在坑中实践