快慢指针 找中点//slow:(5个停在3,10个停在5)
class Solution {
public:
ListNode* sortList(ListNode* head) {
if(head==NULL||head->next==NULL)
return head;
// /*快慢指针 查找剧中节点*/
// ListNode* fast=head, *slow=head;
// ListNode* tmp=head;
// while(fast!=nullptr&&fast->next!=nullptr){
// tmp=slow;
// fast=fast->next->next;
// slow=slow->next;
// }
// tmp->next=NULL;
// ListNode* left=sortList(head);
// ListNode* right=sortList(slow);
ListNode* fast=head->next,* slow=head;
while(fast&&fast->next){
fast=fast->next->next;
slow=slow->next;
}
ListNode* pre=slow->next;
slow->next=NULL;
ListNode* left=sortList(head);
ListNode* right=sortL