/** * 这样排序的话,不简单。 * 头脑不灵活,直接交换val就行了,还用得着这么麻烦。 * * @param head * @return */ public static ListNode sortInList(ListNode head) { ListNode tmp = new ListNode(0); tmp.next = head; while (true) { ListNode next = tmp.next; ListNode pre = tmp; boolean flag = true; while (next.next != null) { if (next.val > next.next.val) { ListNode ne1 = next.next.next; pre.next = next.next; next.next.next = next; next.next = ne1; pre = pre.next; flag = false; } else { pre = pre.next; next = next.next; } } if (flag) { break; } } return tmp.next; }