插入排序,在原有链表的基础上,只交换数值,不改变链表结构。提交了一次,提示超时,后来发现时代码中有多余的cout语句(调试时加的)。
class Solution { public: ListNode *insertionSortList(ListNode *head) { ListNode* ptr; ptr=head; while(ptr!=0) { ListNode* p; int tmp; p=head; while(p!=ptr&&ptr->val>p->val) { p=p->next; } ListNode* t; t=p; while(p!=ptr) { tmp = t->val; t->val=p->next->val; p->next->val=tmp; p=p->next; } ptr=ptr->next; } return head; } };
Insertion Sort List,布布扣,bubuko.com
原文:http://www.cnblogs.com/ZhangYushuang/p/3677299.html