LeetCode Reverse Linked List II
来源:互联网 发布:淘宝直通车多少钱 编辑:程序博客网 时间:2024/05/17 00:51
题目
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.
翻转链的一部分。
保存:
1、需要翻转的开始位置
2、开始位置的前一个位置
向后推移,暂存下下个位置,将下个位置的next指向当前位置,不断后推直到结束。
把开始位置的前一个位置的next指向最后一个,将最后一个位置的next指向之后的位置。
特殊情况:
1、开始位置是头
2、结束位置是尾
代码:
/** * 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 *before=NULL,*begin=head,*pos=head,*next=head->next,*nn;//交换位置之前的位置,开始位置,当前位置,下一位置,下一位置的下一位置int count=1;//计数while(count<m)//寻找开始位置{before=pos;pos=pos->next;begin=pos;//保存开始位置next=pos->next;count++;}while(count<n)//更改中间段的连接,使之反向{nn=next->next;next->next=pos;pos=next;next=nn;count++;}begin->next=next;//将原来的m位置与原来的n+1位置相连if(before!=NULL)//将原的m-1位置与原来的n位置相连before->next=pos;else//如果之前没有,则修改头head=pos;return head; }};
0 0
- LeetCode[Linked List]: Reverse Linked List II
- LeetCode: Reverse Linked List II
- LeetCode: Reverse Linked List II
- [LeetCode] Reverse Linked List II
- [Leetcode] Reverse Linked List II
- [LeetCode]Reverse Linked List II
- Leetcode: Reverse Linked List II
- [Leetcode]Reverse Linked List II
- [leetcode]Reverse Linked List II
- LeetCode-Reverse Linked List II
- LeetCode Reverse Linked List II
- [leetcode] Reverse Linked List II
- LeetCode - Reverse Linked List II
- [LeetCode] Reverse Linked List II
- LeetCode | Reverse Linked List II
- 【leetcode】Reverse Linked List II
- Leetcode: Reverse Linked List II
- leetcode Reverse Linked List II
- LeetCode:Linked List Cycle II
- Android传递对象的两种方法,(Serializable,Parcelable)
- UI04手势识别器
- ORACLE 启动与关闭
- zoj2676 Network Wars(0-1分数规划,最大流模板)
- LeetCode Reverse Linked List II
- spring 配置多数据源
- nextday
- 碳素结构钢的实际拉伸性能可能与规定的最小值不同
- vi 字符串替换
- 【Java&Android开源库代码剖析】のandroid-async-http の开篇
- Android 自定义控件打造史上最简单的侧滑菜单
- Java
- 钢材的退火组织应为均匀分布的细粒状珠光体