【Leetcode】Reverse Linked List II
来源:互联网 发布:数据交易呢主体 编辑:程序博客网 时间:2024/06/08 03:29
题目链接: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 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.
思路:
思路简单,直接做就好了。主要要注意如果加头结点可以简化算法。
算法:
public ListNode reverseBetween(ListNode head, int m, int n) {if (head == null)return null;ListNode newHead = new ListNode(0);newHead.next = head;// start/head~rear/end,反转head到rear之间的结点,start/end是反转区间两个结点ListNode rear = head, start = newHead, end = head.next;m = m - 1;while (m-- > 0)//因为start是从头结点开始算,所以要多走一步,即m--,而不是像下面的--nstart = start.next;head = start.next;while (--n > 0)rear = rear.next;end = rear.next;// ===反转 head到rear之间结点ListNode p = head, q, t;q = p.next;while (p != rear) {t = q.next;q.next = p;p = q;q = t;}// === start.next = rear;head.next = end;return newHead.next;}
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
- python中plot用法——线条、点、颜色
- 如何在Cocos2D 1.0 中掩饰一个精灵(一)
- pAdPt_-8 XML布局文件的常用布局属性
- Python带星号*的函数参数
- baseadapter适配器
- 【Leetcode】Reverse Linked List II
- css中的id和class
- 音乐播放器类程序后台运行
- caffe + ubuntu15.04 安装教程
- HDU 4561 模拟
- CSS复习总结(2)
- 字符串左右移动(java实现)
- 你真的会玩SQL吗?实用函数方法汇总
- 并行机器最短调度问题