题目:
对链表进行插入排序。
题解思路:
方法:穿针引线
函数代码:
class Solution {
public:
ListNode* insertionSortList(ListNode* head) {
if(!head||!head->next)
{
return head;
}
ListNode *dummy=new ListNode(0);
ListNode *p=dummy;
ListNode *cur=head;
while(cur)
{
p=dummy;
while(p->next&&p->next->val<=cur->val)
{
p=p->next;
}
ListNode *n=p->next;
p->next=cur;
cur=cur->next;
p->next->next=n;
}
return dummy->next;
}
};
本文介绍了一种链表插入排序的实现方法,通过穿针引线的方式,对链表进行有效排序。代码示例使用C++实现,通过创建虚拟头节点简化边界条件处理。
810

被折叠的 条评论
为什么被折叠?



