letcode每日一题-对链表进行插入排序
Posted misswx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了letcode每日一题-对链表进行插入排序相关的知识,希望对你有一定的参考价值。
今天的每日一题主要考验了链表的操作和插入排序,综合来说还是简单的,记录一下!!
题目描述:
代码实现如:
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每日一题-对链表进行插入排序的主要内容,如果未能解决你的问题,请参考以下文章