148. Sort List
来源:互联网 发布:java项目相对路径 编辑:程序博客网 时间:2024/06/06 01:54
使用归并排序;
使用快慢指针可以快速得到中间节点。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode* sortList(ListNode* head) { if(head==NULL||head->next==NULL) return head; ListNode* slow=head,*fast=head,*pre=slow; while(fast->next&&fast->next->next) { fast=fast->next->next; slow=slow->next; } fast=slow; slow=slow->next; fast->next=NULL; ListNode* l=sortList(head); ListNode* r=sortList(slow); return Merge(l,r); } ListNode* Merge(ListNode* l,ListNode* r) { ListNode* head=new ListNode(-1),*p=head; while(l||r) { int val_l=(l==NULL)?INT_MAX:l->val; int val_r=(r==NULL)?INT_MAX:r->val; if(val_l<=val_r) { p->next=l; p=l; l=l->next; } else { p->next=r; p=r; r=r->next; } } return head->next; }};
0 0
- Sort-----148. Sort List
- 148. Sort List leetcode list
- LeetCode 148. Sort List
- [LeetCode]148.Sort List
- 148. Sort List
- [leetcode] 148.Sort List
- 148. Sort List
- 148. Sort List LeetCode
- Leetcode 148. Sort List
- 148. Sort List
- 148. Sort List
- 148. Sort List
- 148. Sort List
- 148. Sort List
- 148. Sort List
- LeetCode *** 148. Sort List
- 148. Sort List
- LeetCode 148. Sort List
- C++ int和string相互转换
- UNIX常用命令
- codeforces706A之Beru-taxi
- 一些常见错误
- maven学习——搭建Maven环境
- 148. Sort List
- 动态建树之——寻找前缀是否是其他字符串
- SVN文件状态解析
- 8.16总结
- Scala隐式( implicit)编程彻底实战之编程进阶(7)
- PASCAL Annotation转换为VOC xml格式数据
- leetcode 336. Palindrome Pairs 372. Super Pow
- PHP入门1.3
- 常见的网络协议