ok
来了
题:
看题目其实很容易直到需要我们做什么。
想让我们对给出得链表进行插入排序。
看代码:
class Solution {
public:
ListNode* insertionSortList(ListNode* head) {
ListNode* dummy=new ListNode;//创建一个排序链表
while(head){//遍历原链表
ListNode* p=dummy;//获得排序链表
while(p->next && p->next->val<head->val) p=p->next;//如果当前链表中的下一值存在,且比当前原链表中的值小,就向下一个移动,直到找到比原链表的值大的地方
ListNode* q=head;//获取当前的原链表的值
head=head->next;//原链表指向下一个
q->next=p->next;//将排序链表中比原链表大的值截取出来放在后面。
p->next=q;//排序链表进行拼接
}
return dummy->next;//从排序链表第二个开始输出。
}
};
总之就是这样了。