美文网首页
链表的部分翻转

链表的部分翻转

作者: 春天还没到 | 来源:发表于2017-12-07 16:17 被阅读0次

声明: 本总结仅为个人学习总结,以防止遗忘而作,不得转载和商用。
题目:给定一个链表,翻转该链表从m到n的位置,要求直接翻转而非申请新空间
如: 给定1->2->3->4->5, m=2,n=4, 返回1->4->3->2->5
假定给出的参数满足: 1<=m<=n<=链表长度
分析:
空转m-1次,找到第m-1个结点,即开始翻转的第一个结点的前驱,记做head
以head为起始结点遍历n-m次,将第i次时,将找到的结点插入的head的next中即可. 即头插法
Java版本的实现:

public static void reverse(Node node, int from, int to){
        Node pCur = node.next;
        int i;
        for(i=0;i<from-1;i++){
            node = pCur;
            pCur = pCur.next;
        }
        
        Node pPre = pCur;
        pCur = pCur.next;
        to--;
        Node pNext;
        for(;i<to;i++){
            pNext = pCur.next;
            pCur.next = node.next;
            node.next = pCur;
            pPre.next = pNext;
            pCur = pNext;
        }
    }

相关文章

  • 链表的部分翻转

    声明: 本总结仅为个人学习总结,以防止遗忘而作,不得转载和商用。题目:给定一个链表,翻转该链表从m到n的位置,要求...

  • Swift - LeetCode - 翻转链表

    题目 翻转链表 问题: 翻转链表中第m个节点到第n个节点的部分 说明: m,n满足1 ≤ m ≤ n ≤ 链表长度...

  • lintcode 翻转链表

    三十五题为翻转一个单链表,三十六题为翻转链表中第m个节点到第n个节点的部分样例给出链表1->2->3->4->5-...

  • 翻转链表

    翻转链表 描述翻转一个链表 样例给出一个链表1->2->3->null,这个翻转后的链表为3->2->1->nul...

  • 36. 翻转链表 II

    描述 翻转链表中第m个节点到第n个节点的部分 注意事项 m,n满足1 ≤ m ≤ n ≤ 链表长度 样例 给出链表...

  • 25. K 个一组翻转链表

    K个一组反转链表 翻转链表给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它...

  • 链表翻转

    给定单向链表,返回翻转后的链表

  • 链表

    1.翻转链表链表的定义 翻转 快慢指针找链表 的中间位置 3.有序链表的合并 4.判断链表中是否有环解法1: 借助...

  • LintCode 翻转链表 II

    题目 翻转链表中第m个节点到第n个节点的部分 注意事项m,n满足1 ≤ m ≤ n ≤ 链表长度 代码

  • K 个一组翻转链表(递归,Kotlin)

    25. K 个一组翻转链表 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它...

网友评论

      本文标题:链表的部分翻转

      本文链接:https://www.haomeiwen.com/subject/vxxjixtx.html