https://leetcode.com/problems/insertion-sort-list/
思路:从旧链表中取出来,插入新链表中。
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { public ListNode insertionSortList(ListNode head) { if (head == null || head.next == null) { return head; } ListNode dummy = new ListNode(Integer.MIN_VALUE); while (head != null) { ListNode current = head; head = head.next; ListNode pre = dummy; ListNode p = dummy.next; while (p != null && p.val < current.val) { p = p.next; pre = pre.next; } ListNode tmp = pre.next; pre.next = current; current.next = tmp; } return dummy.next; } }