Leetcode155: Insertion Sort List

来源:互联网 发布:数学网络课程哪个好 编辑:程序博客网 时间:2024/05/17 17:57

Sort a linked list using insertion sort.

/** * Definition for singly-linked list. * struct ListNode { *     int val; *     ListNode *next; *     ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:    ListNode* insertionSortList(ListNode* head) {        ListNode* p = head;        ListNode* res = new ListNode(0);        while(p)        {            ListNode *cur = p;            p = p->next;            insert(res, cur);        }        return res->next;    }    void insert(ListNode* result, ListNode* cur)    {        while(result->next)        {            if(cur->val < result->next->val)            {                cur->next = result->next;                result->next = cur;                return;            }            result = result->next;        }        if(!result->next)        {            result->next = cur;            cur->next = NULL;        }    }};


0 0
原创粉丝点击