和大神们学习每天一题(leetcode)-Insertion Sort List
2014-12-09 17:29
204 查看
Sort a linked list using insertion sort.
本题采用的是新建一个头结点,向新建的头结点中插入新的元素
功能测试用例:{ 0, 2, 5, 3, 6, 10}
特殊输入测试用例:NULL, {0}
本题采用的是新建一个头结点,向新建的头结点中插入新的元素
功能测试用例:{ 0, 2, 5, 3, 6, 10}
特殊输入测试用例:NULL, {0}
class Solution { public: ListNode *insertionSortList(ListNode *head) { if (head == NULL || head->next == NULL) return head; ListNode *LNpPoint1, *LNpPoint2, *LNpHead = (ListNode *)malloc(sizeof(ListNode));//在头结点前加一个结点 LNpHead->next = head; head = head->next; LNpHead->next->next = NULL; while (head != NULL)//遍历所有结点 { LNpPoint1 = LNpHead;//初始化双结点 LNpPoint2 = LNpHead->next; while (LNpPoint2 != NULL)//在排好的链表中找到正确的位置 { if (LNpPoint2->val > head->val) { LNpPoint1->next = head; head = head->next; LNpPoint1->next->next = LNpPoint2; break; } LNpPoint1 = LNpPoint1->next;//双链表向后移动 LNpPoint2 = LNpPoint2->next; } if (LNpPoint2 == NULL) { LNpPoint1->next = head; head = head->next; LNpPoint1->next->next = NULL; } } return LNpHead->next; } };
相关文章推荐
- 和大神们学习每天一题(leetcode)-Sort Colors
- 和大神们学习每天一题(leetcode)-Remove Nth Node From End of List
- 和大神们学习每天一题(leetcode)-Remove Duplicates from Sorted List
- 【LeetCode】Insertion Sort List
- Leetcode习题:Insertion Sort List
- Leetcode: Insertion Sort List
- Leetcode_Insertion Sort List
- [Leetcode] Insertion Sort List (Java)
- 【LeetCode with Python】 Insertion Sort List
- LeetCode(147) Insertion Sort List
- LeetCode----Insertion sort list
- Leetcode Insertion Sort List 解题报告
- LeetCode-Insertion Sort List
- leetcode之Insertion Sort List
- Insertion Sort List | leetcode
- [LeetCode]Insertion Sort List
- LeetCode—Insertion Sort List 解题报告
- LeetCode - Insertion Sort List
- LeetCode题解:Insertion Sort List
- LeetCode Insertion Sort List 最新题解