解题思路:
设置一个dummy头结点,然后将原链表中的节点一个个拆下来,按升序拼接到新的链表中。
提交代码:
class Solution {
public ListNode insertionSortList(ListNode head) {
ListNode dummy=new ListNode(-1);
ListNode cur=dummy;
while(head!=null) {
ListNode pn=head.next;
cur=dummy;
while(cur.next!=null&&cur.next.val<=head.val) {
cur=cur.next;
}
head.next=cur.next;
cur.next=head;
head=pn;
}
return dummy.next;
}
}
运行结果:

链表插入排序算法实现
本文介绍了一种链表插入排序算法的实现方法,通过设置一个虚拟头结点,将原链表中的节点按升序重新连接,形成一个新的有序链表。

被折叠的 条评论
为什么被折叠?



