首页 > 代码库 > LeetCode Insertion Sort List
LeetCode Insertion Sort List
class Solution { public: ListNode *insertionSortList(ListNode *head) { if (head == NULL) return NULL; ListNode* sorted_head = head; ListNode* unsorted_head = head->next; head->next = NULL; ListNode* cur = unsorted_head; while (cur != NULL) { unsorted_head = cur->next; cur->next = NULL; sorted_head = insertNode(sorted_head, cur); cur = unsorted_head; } return sorted_head; } ListNode* insertNode(ListNode* list, ListNode* node) { if (list == NULL && node == NULL) return NULL; if (node == NULL) return list; if (list == NULL) return node; ListNode* cur = list; ListNode* pre = NULL; while (cur != NULL && cur->val < node->val) { pre = cur; cur = cur->next; } if (pre == NULL) { node->next = list; return node; } else { node->next = pre->next; pre->next = node; return list; } } };
感觉很简单,写起来又是这错那错
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。