class Solution { public: ListNode* sortList(ListNode* head) { if(!head || !head->next){ return head; } ListNode* fast=head->next; ListNode* slow=head; while(fast!=nullptr && fast->next!=nullptr){ fast=fast->next->next; slow=slow->next; } ListNode* temp=slow->next; slow->next=nullptr; ListNode* left=sortList(head); ListNode* right=sortList(temp); ListNode* res=new ListNode(0); ListNode* pt=res; while(left!=nullptr && right!=nullptr){ if(left->val>right->val){ pt->next=right; right=right->next; }else{ pt->next=left; left=left->next; } pt=pt->next; } pt->next=left==nullptr?right:left; return res->next; } };
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)