Sort List
ListNode sortList(ListNode head) {
//切分至最小单位,仅剩一个元素时。
if(!head||!head->next) return head;
ListNode s=head, q=head;
//q->next->next不为空时,s指向中部
while(q->next&&q->next->next){
q=q->next->next;
s=s->next;
}
//断开链表!!!!!!!!
q=s;
s=s->next;
q->next=nullptr;
return merge(sortList(head),sortList(s));
}
Last updated
Was this helpful?