【reverse-linked-list-ii】
来源:互联网 发布:时间煮雨 知乎 编辑:程序博客网 时间:2024/06/05 02:45
Reverse a linked list from position m ton. Do it in-place and in one-pass.
For example:
Given1->2->3->4->5->NULL, m = 2 and n = 4,
return1->4->3->2->5->NULL.
Note:
Given m, n satisfy the following condition:
1 ≤ m ≤ n ≤ length of list.
指定位置(m,n)部分进行翻转
思路:翻转m-n之间的部分,将链表分为三部分,最后再重新拼接;
#include <iostream>#include <stdio.h>#include <vector>#include <iterator>#include <map>using namespace std;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* phead = new ListNode(-1);phead->next = head;ListNode* p = phead;for (int i=0; i<m-1; i++){p = p->next;}ListNode* firstTail = p;ListNode* secondTail = p->next;ListNode* pre = NULL;ListNode* node = secondTail;//进行链表的逆转for (int i=0; i<=n-m; i++){ListNode* tmp = node->next;node->next = pre;pre = node;node = tmp;}firstTail->next = pre;secondTail->next = node;return phead->next;}};
阅读全文
0 0
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- Reverse Linked List II
- jsp+JavaBean+servlet设计模式
- js完美转换阿拉伯数字为数字大写(原创)
- 列表元素的删除操作for...remove
- Bentley.STAAD.RCDC.v6.0.1.1 1CD
- Android 自定义View (三) 圆环交替 等待效果
- 【reverse-linked-list-ii】
- 异步发送相关参数 producer.type async/sync 默认是sync 当满足以下其中一个条件的时候就触发 发送 batch.num.messages 异步发送 每次批量发送的条目
- numpy scipy matplotlib二次回首简看
- tagVARIANT结构
- 欢迎使用CSDN-markdown编辑器
- 怎么给MP4加密、选用隐大师U盘
- constructor-arg和 property的使用
- Linux 信号
- 使用Hive的正则表达式匹配数据时为NULL