LeetCode Sort List(链表排序)
来源:互联网 发布:java dwg 编辑:程序博客网 时间:2024/04/29 09:13
题目链接
struct ListNode *MergeSortList(struct ListNode *head1, struct ListNode *head2){struct ListNode *p1, *p2, *p, *temp;p = (struct ListNode *)malloc(sizeof(struct ListNode));temp = p;//暂存合并后的链表的头结点p1 = head1;p2 = head2;while (p1&&p2){if (p1->val <= p2->val){p->next = p1;p1 = p1->next;}else{p->next = p2;p2 = p2->next;}p = p->next;}if (p1)p->next = p1;elsep->next = p2;p = temp->next;return p;}struct ListNode *MergeSort(struct ListNode *head){struct ListNode *fast, *slow, *slowPrev, *leftHalf, *rightHalf;fast = slow = head;if (!head || !head->next)return head;while (fast&&fast->next){fast = fast->next->next;slowPrev = slow;slow = slow->next;}slowPrev->next = NULL;leftHalf = MergeSort(head);rightHalf = MergeSort(slow);return MergeSortList(leftHalf, rightHalf);}struct ListNode *sortList(struct ListNode *head){if (!head || !head->next)return head;return MergeSort(head);//归并排序,保证算法复杂度为O(nlog(n))}
0 0
- LeetCode Sort List(链表排序)
- Sort List 链表排序@LeetCode
- Leetcode Sort List 链表归并排序
- LeetCode Sort List(链表排序)
- LeetCode-Sort List 链表排序
- Leetcode Sort List 链表排序
- LeetCode | Insertion Sort List(插入法排序链表)
- LeetCode OJ 之 Sort List (排序链表)
- LeetCode 147 Insertion Sort List(链表插入排序)
- LeetCode 148. Sort List(链表排序)
- LeetCode Sort List(链表快速排序)
- 【LeetCode】Sort List 链表排序- Medium ++(Merge&Quick Sort)
- leetcode题解-链表排序算法 147. Insertion Sort List && 148 . Sort List
- Insertion Sort List 链表插入排序@LeetCode
- LeetCode:Insertion Sort List//链表插入排序
- leetcode Insertion Sort List(链表插入排序)
- leetcode:Sort List(链表的归并排序)
- [C++]LeetCode: 125 Sort List (归并排序链表)
- 为什eclipse中调试的时候总是不弹出调试界面而是安装运行
- composer更换为国内镜像源
- 算法学习:子集和数问题求解
- java设计模式
- 字符集相关
- LeetCode Sort List(链表排序)
- 【蓝桥第一周】最少硬币问题
- 高斯定时器导致的NotHttpResponseException:The target server failed to repond异常 -- 解决
- 查看mysql当前连接数
- 创建XML文件
- svn图标不显示的解决方案
- C/C++用户模式下备份并改写MBR
- pwnable.kr - fd
- android-Motion Sensors