题目描述
Sort a linked list using insertion sort. 思路:新建一个链表,遍历原链表,将每个节点加入新链表正确的位置。
class Solution {public: ListNode *insertionSortList(ListNode *head) { if(!head || !head ->next) { return head; } list<int> v; for(ListNode *p = head; p!=NULL; p = p->next) { v.push_back(p->val); //把链表的元素存储到线性表 } v.sort(); //直接调用sort进行排序 for(ListNode *p = head; p != NULL; p = p->next) { p ->val = v.front(); //把线性表排好序的序列一个个赋值给链表 v.pop_front(); } return head; }};新闻热点
疑难解答