/** * 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==NULL) return NULL; ListNode* p=head; ListNode* start=p->next; while(start) { ListNode* q=p; while(q!=start && q->val < start->val) { q=q->next; } if(q!=start) { ListNode* tmpNode=q; int tmp=start->val; while(tmpNode!=start) { int tmp1=tmpNode->val; tmpNode->val=tmp; tmp=tmp1; tmpNode=tmpNode->next; } start->val=tmp; } start=start->next; } return head; } };
时间: 2025-01-18 11:46:19