LeetCode—单链表翻转
来源:互联网 发布:java treeset 排序 编辑:程序博客网 时间:2024/04/27 19:42
Reverse Linked List II
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.
/** * 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 (head == NULL) return NULL; ListNode * pBeginNode = NULL ; ListNode * pEndNode = NULL; ListNode * pmNode = head; ListNode * ptempNode = NULL; ListNode * pnNode = NULL; for(int i = 0; i < (m-1); i++) //<find the node befor mth node { pBeginNode = pmNode; pmNode = pmNode->next; } ptempNode = pmNode; ListNode *pPre = pmNode; pmNode = pmNode->next; for(int i = 0; i < (n-m); i++) //<exchange the node { ListNode *pNext = pmNode->next; pmNode->next = pPre; pPre = pmNode; pmNode = pNext; } ptempNode->next = pmNode; if(pBeginNode) { pBeginNode->next = pPre; } else { head = pPre; } return head; }};
0 0
- LeetCode—单链表翻转
- LeetCode—Reverse Linked List II指定位置翻转单链表
- leetcode笔记—翻转链表
- leetcode 334 ----字符串翻转
- leetcode 翻转数字
- leetcode题集——reverse-integer(翻转十进制整数)
- [LeetCode]—Rotate Image 矩阵90度翻转
- 单链表翻转
- 单链表翻转
- 单链表翻转
- 单链表翻转
- 单链表翻转
- 翻转单链表
- 翻转单链表
- 单链表翻转
- 单链表翻转
- 翻转单链表
- 单链表翻转
- HDU 2853 Assignment(二分图最优匹配:优先用原匹配边)
- ArcGISEngine加载Shp文件到MapControl控件
- 【线段树】A Simple Problem with Integers(区间查询和延迟标记)
- HOJ 12884 Area Coverage(线段树、求矩形面积并)
- 开源的服务发现项目Zookeeper,Doozer,Etcd
- LeetCode—单链表翻转
- 听鬼哥说虐心的2048简化过程
- 单元格排序+行颜色变化(DHTML)
- 关于区间最小覆盖的问题总结(以zoj 3197 Google Book 为例)
- xml报错-Multiple annotations found at this line
- MySql 一边读一边写
- HDU-#1204 糖果大战(Markov过程+概率论)
- 7.8函数 2
- Codeforces Round #112 (Div. 2) C. Another Problem on Strings