反转从位置 m 到 n 的链表。用一次遍历在原地完成反转。
例如:
给定 1->2->3->4->5->NULL, m = 2 和 n = 4,
返回 1->4->3->2->5->NULL.
注意:
给定 m,n 满足以下条件:
1 ≤ m ≤ n ≤ 列表长度。
详见:https://leetcode.com/problems/reverse-linked-list-ii/description/

Java实现:

/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode reverseBetween(ListNode head, int m, int n) {
ListNode dummy=new ListNode(-1);
dummy.next=head;
ListNode cur=dummy;
for(int i=1;i<=m-1;++i){
cur=cur.next;
}
ListNode pre=cur;
ListNode last=cur.next;
ListNode front=null;
for(int i=m;i<=n;++i){
cur=pre.next;
pre.next=cur.next;
cur.next=front;
front=cur;
}
cur=pre.next;
pre.next=front;
last.next=cur;
return dummy.next;
}
}

092 Reverse Linked List II 反转链表 II的更多相关文章

  1. 92. Reverse Linked List II 反转链表 II

    网址:https://leetcode.com/problems/reverse-linked-list-ii/ 核心部分:通过a.b.c三个变量之间的相互更新,不断反转部分链表 然后将反转部分左右两 ...

  2. LeetCode OJ:Reverse Linked List (反转链表)

    Reverse a singly linked list. 做II之前应该先来做1的,这个倒是很简单,基本上不用考虑什么,简单的链表反转而已: /** * Definition for singly- ...

  3. LeetCode 206 Reverse Linked List(反转链表)(Linked List)(四步将递归改写成迭代)(*)

    翻译 反转一个单链表. 原文 Reverse a singly linked list. 分析 我在草纸上以1,2,3,4为例.将这个链表的转换过程先用描绘了出来(当然了,自己画的肯定不如博客上面精致 ...

  4. [LC]206题 Reverse Linked List (反转链表)(链表)

    ①英文题目 Reverse a singly linked list. Example: Input: 1->2->3->4->5->NULL Output: 5-> ...

  5. LeetCode 92. 反转链表 II(Reverse Linked List II)

    92. 反转链表 II 92. Reverse Linked List II 题目描述 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. LeetC ...

  6. 【1】【leetcode-92】 反转链表 II

    (没过,以为简单,结构链表指针搞得很复杂出错.是有捷径的,很典型题目要记住) 反转链表 II(medium) 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明:1 ≤ m ≤ n ≤ 链 ...

  7. Java实现 LeetCode 92 反转链表 II

    92. 反转链表 II 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. 示例: 输入: 1->2->3->4->5-> ...

  8. 力扣 - 92. 反转链表II

    目录 题目 思路1(迭代) 代码 复杂度分析 思路2(递归) 代码 复杂度分析 题目 92. 反转链表 II 思路1(迭代) 将反转链表分成3个部分:前一段未反转的部分.待反转链表部分.后一段未反转部 ...

  9. 【python】Leetcode每日一题-反转链表 II

    [python]Leetcode每日一题-反转链表 II [题目描述] 给你单链表的头节点 head 和两个整数 left 和 right ,其中 left <= right .请你反转从位置 ...

随机推荐

  1. SSL peer shut down incorrectly

    这个问题通常出现在Android Studio更新失败的时候, 原因是download http://services.gradle.org/distributions/gradle-2.2-all. ...

  2. Hihocder 1639 : 图书馆 (组合数+唯一分解 求最后一位)(妙)

    给定n,(n<=10^3),然后输入n的数a[i],(a[i]<=1e10),求ans=(a1+a2+a3...an)! / (a1!*a2!*a3!...an!) 的结果的最一位数. 适 ...

  3. Win32编程点滴5 - 响应ActiveX控件的事件

    在最近的一篇文章中说到了,如何创建ActiveX,这次我们来响应事件.这次,我们将创建一个类:CGeneralEventSink,它能够响应任何Dispatch事件(事件的接口继承与IDispatch ...

  4. 让应用程序支持emoji字符

    自iPhone从iOS 5在输入法中开始支持emoji以来,这些表情符号迅速风靡世界.但是很多Web网站竟然还不!支!持!!! 那怎么才能支持emoji呢?其实代码一行都不用改,因为emoji符号实际 ...

  5. heartbeat3.x部署安装

    使用Heartbeat构建Linux双机热备系统 本文档版本号: V1.0 版 本 历 史 版本号 更新时间 说 明 创建者 V1.0 2013-3-23 修改版 金桥 1 部署环境 OS: Red ...

  6. ARM版本系列及家族成员梳理

    ARM公司简介 ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能.廉价.耗能低的RISC (精简指令集)处理器. 1985年第一个AR ...

  7. hibernate Criteria中or和and的用法

    /s筛选去除无效数据 /*      detachedCriteria.add( Restrictions.or( Restrictions.like("chanpin", &qu ...

  8. 读取MySQL数据表字段信息

    TP5句式 $fieldinfo = Db::query('SHOW FULL COLUMNS FROM '.$table);//查出数据表所有字段信息Field 字段Comment 字段注释

  9. Lightoj1084【DP啊DP】

    题意: 给你n个人的位置,每个人最多移动k个单位,然后在某点>=3人可以抱团,问你这n个人最少抱团数,只要有一个n不能抱团输出-1: 思路: 感觉又是超级超级狗血.... 剪不断,理还乱... ...

  10. Ionic start 创建项目报错

    Installing npm packages... Error with start undefined Error Initializing app: There was an error wit ...