lc 排序链表
Posted friskypuppy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lc 排序链表相关的知识,希望对你有一定的参考价值。
链接:https://leetcode-cn.com/problems/sort-list/
代码:
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* sortList(ListNode* head) { if(head == nullptr) return nullptr; ListNode* cur = head; vector<int> v; while(cur) { v.push_back(cur->val); cur = cur->next; } sort(v.begin(), v.end()); cur = head; for(int i = 0; i < v.size(); i++) { cur->val = v[i]; cur = cur->next; } return head; } };
思路:把链表 copy 到数组中排序然后再重新返回到链表。也可递归,现在写
以上是关于lc 排序链表的主要内容,如果未能解决你的问题,请参考以下文章
[M链表] lc725. 分隔链表(模拟+代码优化+代码实现)
[M链表] lc725. 分隔链表(模拟+代码优化+代码实现)