首页 > 其他 > 详细

反转链表2

时间:2020-04-21 21:56:46      阅读:67      评论:0      收藏:0      [点我收藏+]

此博客链接:https://www.cnblogs.com/ping2yingshi/p/12748095.html

反转链表

题目链接:https://leetcode-cn.com/problems/reverse-linked-list-ii/

反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。

说明:
1 ≤ m ≤ n ≤ 链表长度。

示例:

输入: 1->2->3->4->5->NULL, m = 2, n = 4
输出: 1->4->3->2->5->NULL

题解:

        思路:分三个部分,第一部分没有反转的前面节点,第二部分需要反转的节点,第三部分后面不需要反转的节点。

                 1.先找出没有反转的部分。

                 2.把反转部分用头插法反转。

                 3.在找出后半部分没有反转的节点。

但是代码报了一个错误,暂时还没有找到原因。

代码如下:

class Solution {
    public ListNode reverseBetween(ListNode head, int m, int n) {
        ListNode now=new ListNode(0);
        ListNode cur=now;
        int count=1;
        while(count<m){
        //    ListNode node=head;
        //    head=head.next;
        //    cur.next=node;
        //    cur=node;
         cur.next=head;
           cur=cur.next;
           head=head.next;
     
            count++;
        }
        while(count<=n)
        {
            ListNode node=head;
            head=head.next;
            node.next=cur;
            cur=node;
            count++;
        }
        while(head!=null)
        {
           cur.next=head;
           cur=cur.next;
           head=head.next;
           
        }
           return now.next;
    }
}

技术分享图片

 

反转链表2

原文:https://www.cnblogs.com/ping2yingshi/p/12748095.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!