[LeetCode92]Reverse Linked List II
2016-03-17 15:19
405 查看
题目:
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:
Given
return
反转m到n处的单链表
The basic idea is as follows:
(1) Create a
(2) Set
分类:Linked List
代码:
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到n处的单链表
The basic idea is as follows:
(1) Create a
new_headthat points to
headand use it to locate the immediate node before the
m-th (notice that it is
1-indexed) node
pre;
(2) Set
curto be the immediate node after
preand at each time move the immediate node after
cur(named
move) to be the immediate node after
pre. Repeat it for
n - mtimes.
分类:Linked List
代码:
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; for (int i = 0; i < m - 1; i++) pre = pre -> next; ListNode* cur = pre -> next; for (int i = 0; i < n - m; i++) { ListNode* move = cur -> next; cur -> next = move -> next; move -> next = pre -> next; pre -> next = move; } return new_head -> next; } };
相关文章推荐
- ###柯里化 f(x,y) -> g(x)(y)
- mybatis缓存
- div浮层,滚动条移动,保持位置不变的4种方法
- java并发:获取线程执行结果(Callable、Future、FutureTask)
- Android如何使用API
- android的输入框EditText限制条件setFilters
- 为什么大部分关于可用性的争论都是在浪费时间
- java 线程如何被终止
- Android Java与C++的调用
- 3163: [Heoi2013]Eden的新背包问题 多重背包
- mysql存储过程记录
- Innodb中的事务隔离级别和锁的关系 美团技术博客
- JavaScript Window - 浏览器对象模型
- 如何在 iOS 真机运行 Appium
- block
- 如何使用Hive集成Solr?
- vim常用快捷命令模式
- 安装oracle10g并导入dmp文件的过程(遇到的问题总结记录)
- 关于Spring,default-autowire-candidates属性的作用验证
- Redis入门很简单之九【SpringMvc+Mybatis与redis整合让Mybatis管理缓存】