LintCode 36. 翻转链表 II

原创 2018年04月15日 13:44:26

翻转链表中第m个节点到第n个节点的部分

/**
 * Definition for ListNode
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) {
 *         val = x;
 *         next = null;
 *     }
 * }
 */

public class Solution {
    /**
     * @param head: ListNode head is the head of the linked list 
     * @param m: An integer
     * @param n: An integer
     * @return: The head of the reversed ListNode
     */
    public ListNode reverseBetween(ListNode head, int m, int n) {
        // write your code here
        if (head == null) {
            return head;
        }

        ListNode dummy = new ListNode(0);
        dummy.next = head;
        head = dummy;

        for (int i = 1; i < m; i++) {
            head = head.next;
        }

        ListNode premNode = head;
        ListNode mNode = head.next;
        ListNode nNode = mNode;
        ListNode postnNode = nNode.next;

        for (int i = m; i < n; i++) {
            ListNode tmpNode = postnNode.next;
            postnNode.next = nNode;
            nNode = postnNode;
            postnNode = tmpNode;
        }

        mNode.next = postnNode;
        premNode.next = nNode;

        return dummy.next;
    }
}

4.9.链表&状态机与多线程

本课程主要目标是让大家彻底全面的掌握链表这一数据结构。因为链表在内核驱动开发中属于很重要的基础技术,因此用十几节课来彻底深入讲解和实践。
  • 2015年10月22日 10:35

【LintCode】翻转链表 II

题目 给一个链表,然后我们要把这个链表中第m个节点到第n个节点的部分翻转。 样例 给出链表1->2->3->4->5->null, m = 2 和n = 4,返回1->4->3->2->5->nul...
  • qq_20801369
  • qq_20801369
  • 2016-09-08 16:00:40
  • 533

36. 翻转链表 II

翻转链表中第m个节点到第n个节点的部分样例给出链表1-&amp;gt;2-&amp;gt;3-&amp;gt;4-&amp;gt;5-&amp;gt;null, m = 2 和n = 4,返回1-&a...
  • strike1989
  • strike1989
  • 2018-03-06 21:13:35
  • 13

LintCode:翻转链表 II

LintCode:翻转链表 II这里写链接内容""" Definition of ListNodeclass ListNode(object): def __init__(self, val, ...
  • u012225151
  • u012225151
  • 2016-04-24 23:51:13
  • 252

[Lintcode]Reverse Linked List II 翻转链表 II

Reverse a linked list from position m to n. Example Given 1->2->3->4->5->NULL, m = 2 and n = 4...
  • jc69186918
  • jc69186918
  • 2016-11-10 17:12:22
  • 114

Lintcode 35.翻转链表

1.问题描述:翻转一个链表,将给定的链表按他相反的顺序表示。 2.解题思路:相当于尾插法,创建dummy先保存了head的地址,将创建的temp保存head->next的地址,这样就让head下移,...
  • wangyukl
  • wangyukl
  • 2017-03-25 23:37:39
  • 960

[lintcode]36. 翻转链表 II

链接:http://www.lintcode.com/zh-cn/problem/reverse-linked-list-ii/ 翻转链表中第m个节点到第n个节点的部分 ...
  • xiaocong1990
  • xiaocong1990
  • 2018-04-02 12:27:30
  • 11

lintcode 翻转链表

问题描述http://www.lintcode.com/zh-cn/problem/reverse-linked-list/样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2-...
  • waltonhuang
  • waltonhuang
  • 2016-08-28 17:07:57
  • 937

LintCode-翻转链表

翻转链表 翻转一个链表 样例 给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->null 挑战 在原地一次翻转完...
  • Sunny_Ran
  • Sunny_Ran
  • 2015-11-10 20:28:38
  • 580

*[Lintcode]带环链表 II

给定一个链表,如果链表中存在环,则返回到链表中环的起始节点的值,如果没有环,返回null。 样例 给出 -21->10->4->5, tail connects to node index 1,返回...
  • jc69186918
  • jc69186918
  • 2017-02-07 11:40:12
  • 308
收藏助手
不良信息举报
您举报文章:LintCode 36. 翻转链表 II
举报原因:
原因补充:

(最多只允许输入30个字)