携程:链表排序
static ListNode partition(ListNode head,int m) {
ListNode temp1 = new ListNode(-1);
ListNode temp2 = new ListNode(-1);
ListNode p1 = temp1;
ListNode p2 = temp2;
ListNode p = head;
while (p != null) {
if (p.val <=m) {
p1.next = p;
p1 = p1.next;
} else {
p2.next = p;
p2 = p2.next;
}
p = p.next;
}
if (temp1.next == null) {
return head;
} else {
p1.next = temp2.next;
p2.next = null;
return temp1.next;
}
} #携程##笔试题目#
