LeetCode 92 Reverse Linked List II(翻转链表II)(Linked List)(*)
来源:互联网 发布:淘宝固定悬浮导航 编辑:程序博客网 时间:2024/05/29 12:07
翻译
将一个链表中位置m和n的节点进行翻转。就地且一次通过。
例如
给定 1->2->3->4->5->NULL, m = 2 和n = 4,
返回 1->4->3->2->5->NULL.
备注:
给定的m和n满足以下条件:
1 <= m <= n <= 链表的长度
原文
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.
分析
C Plus Plus
/** * 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) { ListNode *newHead = new ListNode(0); newHead->next = head; ListNode *c = newHead; for (int i = 0; i < m - 1; i++) { c = c->next; } ListNode *p = c->next; for (int i = 0; i < n - m; i++) { ListNode *t = p->next; p->next = t->next; t->next = c->next; c->next = t; } return newHead->next; }};
Java
updated at 2016/09/23
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */public class Solution { ListNode reverseBetween(ListNode head, int m, int n) { ListNode newHead = new ListNode(0); newHead.next = head; ListNode c = newHead; for (int i = 0; i < m - 1; i++) { c = c.next; } ListNode p = c.next; for (int i = 0; i < n - m; i++) { ListNode tmp = p.next; p.next = tmp.next; tmp.next = c.next; c.next = tmp; } return newHead.next; }}
5 0
- LeetCode 92 Reverse Linked List II(翻转链表II)(Linked List)(*)
- LeetCode | Reverse Linked List II(翻转链表2)
- LeetCode 92. Reverse Linked List II(翻转链表)
- LeetCode(92) Reverse Linked List II
- [LeetCode] Reverse Linked List II(!!!)
- Reverse Linked List II 局部翻转链表@LeetCode
- [LeetCode] Reverse Linked List I II - 链表翻转问题
- LeetCode-Reverse Linked List II(反转链表)
- 36.Reverse Linked List II-翻转链表 II(中等题)
- Reverse Linked List II 翻转链表II
- [Lintcode]Reverse Linked List II 翻转链表 II
- LeetCode[Linked List]: Reverse Linked List II
- LeetCode 206. Reverse Linked List(翻转链表)
- leetcode 206. Reverse Linked List(翻转链表)
- [LeetCode-92] Reverse Linked List II(反转指定区间链表)
- LeetCode: Reverse Linked List II
- LeetCode: Reverse Linked List II
- [LeetCode] Reverse Linked List II
- 深入理解Java的接口和抽象类
- ContentProvider详解5
- 快速排序
- pod install vs. pod update
- 大数据IMF传奇行动绝密课程第19课:Spark高级排序彻底解密
- LeetCode 92 Reverse Linked List II(翻转链表II)(Linked List)(*)
- spring RequestMapping 拦截多个请求
- zxing实现二维码生成和解析
- Java异常处理
- 开始第一个SpringMVC
- android Content Provider详解六
- 设计模式六大原则: 一国两制 -- 开放封闭原则
- (源码分析)Method的Invoke方法
- OOP面向对象——多态&继承&super&多态&重写&重载