/**
* 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];
}
};