LeetCode-147. Insertion Sort List (JAVA)链表插入排序

来源:互联网 发布:手机测路程软件 编辑:程序博客网 时间:2024/05/14 04:11

147. Insertion Sort List

Sort a linked list using insertion sort.

用插入排序方法对链表进行排序。可以构建一个临时的链表,然后将待排序的链表的每一个节点插入到临时链表中

// 插入排序public ListNode insertionSortList(ListNode head) {ListNode dummy = new ListNode(0);ListNode pre = dummy;ListNode cur = head;while (cur != null) {pre = dummy;// 从伪头结点的下一个结点开始,(注意判空)// 让pre指向小于cur.val的最大结点(升序)while (pre.next != null&& pre.next.val < cur.val) {pre = pre.next;}// next暂存cur的下一个结点ListNode next = cur.next;// 把cur连接在pre后面// cur.next指向pre.nextcur.next = pre.next;pre.next = cur;cur = next;}return dummy.next;}

总结;

伪头结点的使用

链表结点的插入

0 0