147. Insertion Sort List

来源:互联网 发布:公知什么意思 编辑:程序博客网 时间:2024/06/02 06:03

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 dummy(-1);        ListNode *cur = head;        while (cur) {            ListNode *tmp = cur->next;            ListNode *prev = &dummy;            while (prev->next && prev->next->val < cur->val) {                prev = prev->next;            }            cur->next = prev->next;            prev->next = cur;            cur = tmp;        }        return dummy.next;    }};
0 0
原创粉丝点击