首页 > 代码库 > Leetcode#147 Insertion Sort List
Leetcode#147 Insertion Sort List
原题地址
心得:有关链表的题目,多用中间变量,代码写得清晰一点,适当注释
代码:
1 ListNode *insertionSortList(ListNode *head) { 2 if (!head) return NULL; 3 4 ListNode *curr = head->next; 5 ListNode *prev = head; 6 while (curr) { 7 ListNode *p = NULL; 8 ListNode *c = head; 9 // 寻找插入位置10 while (c->val < curr->val) {11 p = c;12 c = c->next;13 }14 // 如果要插入的位置就是当前位置15 if (c == curr) {16 prev = curr;17 curr = curr->next;18 }19 // 否则插入节点20 else {21 prev->next = curr->next;22 curr->next = c;23 if (!p) // 如果带插入的位置是队首24 head = curr;25 else // 普通情况26 p->next = curr;27 curr = prev->next;28 }29 }30 31 return head;32 }
Leetcode#147 Insertion Sort List
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。