LeetCode:Insertion Sort List
2014-11-21 10:34
423 查看
题目描述:
Sort a linked list using insertion sort.
思路:在head之前插入一个假头结点,便于在head节点之前插值。遍历链表,对于每一个节点,在它前面的有序的节点中找到第一个比它大的节点,将它插到该节点的前面。链表遍历结束后即得到有序链表。
代码:
Sort a linked list using insertion sort.
思路:在head之前插入一个假头结点,便于在head节点之前插值。遍历链表,对于每一个节点,在它前面的有序的节点中找到第一个比它大的节点,将它插到该节点的前面。链表遍历结束后即得到有序链表。
代码:
ListNode * Solution::insertionSortList(ListNode *head) { if(head == NULL || head->next == NULL) return head; ListNode * fake_head = new ListNode(INT_MIN); fake_head->next = head; ListNode * left = head; ListNode * right = head; ListNode * left_pre = fake_head; ListNode * right_pre = fake_head; while(right != NULL) { left = fake_head->next; left_pre = fake_head; while(left != right) { if(left->val > right->val) { right_pre->next = right->next; right->next = left; left_pre->next = right; right = right_pre->next; break; } else { left = left->next; left_pre = left_pre->next; } } if(left == right) { right = right->next; right_pre = right_pre->next; } } return fake_head->next; }
相关文章推荐
- [LeetCode] Insertion Sort List
- leetcode之Insertion Sort List
- 【LeetCode】Insertion Sort List
- leetcode题目解答---Insertion Sort List
- 和大神们学习每天一题(leetcode)-Insertion Sort List
- LeetCode :: Insertion Sort List [具体分析]
- leetcode之Insertion Sort List
- LeetCode Insertion Sort List
- The Solution to LeetCode 147 Insertion Sort List
- Leetcode[147]-Insertion Sort List
- leetcode-Insertion Sort List
- 【Leetcode】Insertion Sort List (Sorting)
- 【LeetCode】Insertion Sort List 解题报告
- LeetCode - Insertion Sort List
- LeetCode 147:Insertion Sort List
- Leetcode习题:Insertion Sort List
- Leetcode---Insertion Sort List
- [LeetCode-Algorithms-147] "Insertion Sort List" (2017.12.21-WEEK16)
- Leetcode Insertion Sort List
- 【leetcode】 Insertion_Sort_List