/** * struct ListNode { * int val; * struct ListNode *next; * }; */ class Solution { public: /** * * @param head ListNode类 the head node * @return ListNode类 */ static bool cmp(ListNode* node1, ListNode* node2) { return node1->val < node2->val; } ListNode* sortInList(ListNode* head) { // write code here vector<ListNode*> nodeVec; ListNode* p = head; while(p != NULL) { nodeVec.emplace_back(p); p = p->next; } sort(nodeVec.begin(), nodeVec.end(), cmp); for (int i = 0; i < nodeVec.size()-1;i++) nodeVec[i]->next = nodeVec[i+1]; nodeVec[nodeVec.size()-1]->next = nullptr; return nodeVec[0]; } };