/**
* 这样排序的话,不简单。
* 头脑不灵活,直接交换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;
}