insertion sort list刷题 leetcode

来源:互联网 发布:淘宝装修要多少钱 编辑:程序博客网 时间:2024/05/16 05:45

与数组插入不同,链表是断链,单个插入。

设置一个虚指针,始终指向已排序的头,然后不断添加新的数,head始终指向待排序的数

/** * 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 = new ListNode(0);        while (head!=NULL) {            ListNode *node = dummy;            while (node->next !=NULL && node->next->val < head->val) {                node = node->next;            }            ListNode *t = head;            head=head->next;            t->next = node->next;            node->next = t;        }        return dummy->next;    }};



0 0
原创粉丝点击