链表的部分翻转

声明: 本总结仅为个人学习总结,以防止遗忘而作,不得转载和商用。
题目:给定一个链表,翻转该链表从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

你可能感兴趣的:(链表的部分翻转)