第147题非常规解法

来源:5-4 复杂的穿针引线 Swap Nodes in Pairs

JeffreyW_

2017-08-23

可以用先将list转换成一个vector,然后在挨个插到list里   抖个机灵   :-)

class Solution {
public:
    ListNode* insertionSortList(ListNode* head) {
        if(head == nullptr || head->next == nullptr)
            return head;
        vector<int> vec;
        ListNode* iter = head;
        while(iter != nullptr)
        {
            vec.push_back(iter->val);
            iter = iter->next;
        }
        ListNode* ret = new ListNode(0);
        iter = ret;
        std::sort(vec.begin(), vec.end());
        for(int &i : vec)
        {
            iter->next = new ListNode(i);
            iter = iter->next;
        }
        return ret->next;
    }
};

http://szimg.mukewang.com/599cff920001fcef10860684.jpg

一个非常规解法,在这里分享给大家

写回答

1回答

liuyubobobo

2017-08-23

哈哈,不过有一个小问题:第13行声明了一个虚拟的头结点。那么在函数返回前,应该把这个空间释放掉:)

0
1
JeffreyW_
非常感谢!
2017-08-23
共1条回复

玩转算法面试-- Leetcode真题分门别类讲解

课程配套大量BAT面试真题,高频算法题解析,强化训练

7441 学习 · 1159 问题

查看课程