劍指 Offer II 077. 連結串列排序
阿新 • • 發佈:2021-10-06
放到數組裡排序就行了
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode() : val(0), next(nullptr) {} * ListNode(int x) : val(x), next(nullptr) {} * ListNode(int x, ListNode *next) : val(x), next(next) {} * }; */ class Solution { public自己選擇的路,跪著也要走完。朋友們,雖然這個世界日益浮躁起來,只要能夠為了當時純粹的夢想和感動堅持努力下去,不管其它人怎麼樣,我們也能夠保持自己的本色走下去。: int a[50010]; ListNode* sortList(ListNode* head) { if (head == nullptr) return head; ListNode* p = head; int cnt = 0; while(p != nullptr) { a[cnt++] = p->val; p = p->next; } sort(a, a + cnt); p = head; cnt= 0; while(p != nullptr) { p->val = a[cnt++]; p = p->next; } return head; } };