码迷,mamicode.com
首页 > 编程语言 > 详细

letcode每日一题-对链表进行插入排序

时间:2020-11-24 12:33:53      阅读:9      评论:0      收藏:0      [点我收藏+]

标签:list   img   mic   头结点   rtl   poi   图片   head   alt   

今天的每日一题主要考验了链表的操作和插入排序,综合来说还是简单的,记录一下!!
技术图片
题目描述:
技术图片
技术图片
代码实现如:

public ListNode insertionSortList(ListNode head) {
        if(head==null){
            return null;
        }
        ListNode headPoint=new ListNode(-1);
        headPoint.next=head;
        ListNode LastSorted=head,curr=head.next;
        while (curr!=null){
            if(curr.val>=LastSorted.val){
                LastSorted=curr;
            }else{
                ListNode prev=headPoint;
                while(prev.next.val<=curr.val){
                    prev=prev.next;
                }
                LastSorted.next=curr.next;
                curr.next=prev.next;
                prev.next=curr;
            }
            curr=LastSorted.next;
        }
        return headPoint.next;
    }

思路:
1.应为这个题目的链表是单向的,所以可以设置一个头结点指向链表,这样更便于操作
2.手绘了几个步骤,大致如下:
链表[4,3,2,1]
{{uploading-image-803284.png(uploading...)}}

letcode每日一题-对链表进行插入排序

标签:list   img   mic   头结点   rtl   poi   图片   head   alt   

原文地址:https://www.cnblogs.com/MissWX/p/14009623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!