/**
* 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) {
if (!head || !head->next) return head;
ListNode dummyHead(0), *p;
dummyHead.next = insertionSortList(head->next);
p = &dummyHead;
while (p && p->next && head->val > p->next->val){
p = p->next;
}
head->next = p->next;
p->next = head;
return dummyHead.next;
}
};
插入排序进行链表排序
最新推荐文章于 2021-12-07 09:13:28 发布