Reverse Linked List II
来源:互联网 发布:右肩膀酸痛 知乎 编辑:程序博客网 时间:2024/06/15 21:24
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 || m==n) return head; ListNode *p = head, *pp = NULL, *q = NULL; --n; while(--m && --n){ pp = p; p = p->next; } ListNode *pfirst = pp, *first = p; q = p->next; while(n--){ pp = p; p = q; q = q->next; p->next = pp; } if(pfirst == NULL) head = p; else pfirst->next = p; first->next = q; return head; }};
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
- layout_gravity
- TCP三次握手/四次挥手详解
- SpringMVC 日志管理之 jcl-over-slf4j log桥接工具
- Android自定义控件系列八:详解onMeasure()(二)--利用onMeasure测量来实现图片拉伸永不变形,解决屏幕适配问题
- 虚拟空间使用ASP.NET预编译注意事项
- Reverse Linked List II
- 数据结构——链栈
- easyui-editing datagrid 批量保存数据 一
- 所谓学风建设
- linux test命令
- 15第八周项目一——实现复数类中的运算符重载(成员函数)
- Python正则表达式(re)
- 第八周上机实践项目3——分数类的运算符重载(1)
- 面向对象的思维方式