[leetcode] Reverse Linked List II
2015-07-13 17:56
281 查看
From : https://leetcode.com/problems/reverse-linked-list-ii/
Reverse a linked list from position m to n. Do it in-place and in one-pass.
For example:
Given
4,
return
Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.
Hide Tags
Linked List
Hide Similar Problems
(E) Reverse Linked List
Solution :
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.
Hide Tags
Linked List
Hide Similar Problems
(E) Reverse Linked List
Solution :
/** * 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) { if(m == n) return head; ListNode *tHead = new ListNode(0), *pre, *rtail, *p, *t; tHead->next = head; pre = tHead; for(int i=1; i<m; i++) { pre = pre->next; } rtail = pre->next; p = rtail->next; for(int k=n-m; k>0; k--) { rtail->next = p->next; t = pre->next; pre->next = p; p->next = t; p = rtail->next; } p = tHead->next; delete tHead; return p; } };
相关文章推荐
- 位运算
- [Android]apk反编译方法
- [leedcode 65] Valid Number
- 17- 注册和刷新验证码
- csharp: Data binding in WPF DataGrid control
- pthread_mutexattr_init
- 关键的问题是,我是谁?
- 从程序角度分析mapreduce原理与代码
- hdu-5281 Senior's Gun*
- 报错:gzip: stdin: not in gzip format
- 16-AFNetworking
- 百度地图API
- python简单获取数组元素个数的方法
- SSH认证免密码登录
- 隐藏注解里的http方法过滤器
- 使用Android Studio编译Fresco
- ios 推送通知
- Unity自动录音自动播放功能
- 友元函数 和 友元类 讲解和使用
- csharp: Data binding in WPF DataGrid control