反转链表 II
反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。
说明:
1 ≤ m ≤ n ≤ 链表长度。
示例:
输入: 1->2->3->4->5->NULL, m = 2, n = 4
输出: 1->4->3->2->5->NULL
解题思路:
将第m个节点之后的(n-m)个节点依次插入第m个节点之前。
如示例中
将节点3插入1 、2中,1->3->2->4->5->NULL
将节点4插入1 、3中,1->4->3->2->5->NULL
定义两个指针p,q分别指向节点1与节点2,将q后面的节点插入p后面。
代码如下:
    public static ListNode test(ListNode head, int m, int n) {
        if (m == n) return head;
        ListNode h = new ListNode(0);
        h.next = head;
        ListNode p = h;
        for (int i=1; i<m; i++) p = p.next;
        ListNode q = p.next;
        ListNode temp;
        for (int i=m; i<n; i++) {
            temp = q.next;
            q.next = temp.next;
            temp.next = p.next;
            p.next = temp;
        }
        return h.next;
    }
反转链表 II的更多相关文章
- 【1】【leetcode-92】 反转链表 II
		(没过,以为简单,结构链表指针搞得很复杂出错.是有捷径的,很典型题目要记住) 反转链表 II(medium) 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明:1 ≤ m ≤ n ≤ 链 ... 
- LeetCode 92. 反转链表 II(Reverse Linked List II)
		92. 反转链表 II 92. Reverse Linked List II 题目描述 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. LeetC ... 
- Java实现 LeetCode 92 反转链表 II
		92. 反转链表 II 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. 示例: 输入: 1->2->3->4->5-> ... 
- 力扣 - 92. 反转链表II
		目录 题目 思路1(迭代) 代码 复杂度分析 思路2(递归) 代码 复杂度分析 题目 92. 反转链表 II 思路1(迭代) 将反转链表分成3个部分:前一段未反转的部分.待反转链表部分.后一段未反转部 ... 
- 【python】Leetcode每日一题-反转链表 II
		[python]Leetcode每日一题-反转链表 II [题目描述] 给你单链表的头节点 head 和两个整数 left 和 right ,其中 left <= right .请你反转从位置 ... 
- 92.反转链表II
		题目 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right .请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 . ... 
- leetcode 206. 反转链表 及 92. 反转链表 II
		206. 反转链表 问题描述 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1-> ... 
- LeetCode 92 ——反转链表 II
		1. 题目 2. 解答 我们需要先找到第 m 个结点及其上一个结点,然后将从 m 到 n 的结点进行反转,最后依次将 m 到 n 反转后的结点和 n 之后的结点放入原链表中即可. 从前往后依次遍历 m ... 
- LeetCode 92. 反转链表 II(Reverse Linked List II)
		题目描述 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. 示例: 输入: 1->2->3->4->5->NULL, ... 
- 【Leetcode链表】反转链表 II(92)
		题目 反转从位置 m 到 n 的链表.请使用一趟扫描完成反转. 说明: 1 ≤ m ≤ n ≤ 链表长度. 示例: 输入: 1->2->3->4->5->NULL, m ... 
随机推荐
- day 26面向对象 的封装 接口 抽象
			大纲分析 # 面向对象# 类 :一类具有相同属性和方法的事物 #类的定义:class #类中可以定义的方法种类: #普通方法 self 对象 #类方法 cls @classmethod 类/对象 #静 ... 
- Linux:配置samba服务
			配置samba服务 一.简略教程 1.挂载系统 mount /dev/cdrom /mnt/cdrom2.创建用户:useradd linlin3.创建用户密码:passwd linlin4.在用户 ... 
- svn+http+ad域
			svn本地添加用户太麻烦了,如果公司有一百个开发人员要访问,要创建账号密码太麻烦了:所以让他们用AD域账号去登录就很方便,但是权限的管控还是在svn的本地添加(这个暂时还没办法很好的解决) 一.安装依 ... 
- <context:annotation-config/>和<mvc:annotation-driven/>及解决No mapping found for HTTP request with URI [/role/getRole] in DispatcherServlet with name 'springmvc-config'
			1:什么时候使用<context:annotation-config> 当你使用@Autowired,@Required,@Resource,@PostConstruct,@PreDest ... 
- http头之keep-alive
			1.什么是keep-alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HT ... 
- Git忽略文件权限
			有时 git diff 执行显示文件内容没变化,但是git status却是一片姨妈红: 原因是文件的权限,被chmod变化了,这种变化也被 diff 识别出来了,git diff某个文件类似如下: ... 
- base标签对svg的影响
			页面地址:http://127.0.0.1:8080/fullLink_node.html?project_id=2 base:<base href="http://127.0.0.1 ... 
- [LeetCode&Python] Problem 283. Move Zeroes
			Given an array nums, write a function to move all 0's to the end of it while maintaining the relativ ... 
- ortp 发送RTP实例
			参考源代码目录src/tests/rtpsend.c ortp_init(); ortp_scheduler_init(); ortp_set_log_level_mask(O ... 
- 腾讯云JavaWeb环境配置
			腾讯云服务器Centos7系统配置javaWeb运行环境 java1.8 运行命令列表 yum list java-* 安装相应版本的jdk,一般含有devel的就是真正的jdk,如:java-1.8 ... 
