Sort List
来源:互联网 发布:日本汉字 知乎 编辑:程序博客网 时间:2024/06/03 14:35
这道题目关键是考虑怎么实现O nlogn ,所以要找到中点,迭代,其他和merge sort 2 list 一样
类似题目 merge k sorted list, merge 2 sorted list
参考 http://www.cnblogs.com/springfor/p/3869372.html
public class Solution { // 问题关键要想到找中点,然后迭代产生O(nlogn) public ListNode sortList(ListNode head) { if(head==null || head.next==null) return head; ListNode left = new ListNode(0); ListNode right = new ListNode(0); ListNode run = head; ListNode wk = head; while(run.next!=null && run.next.next!=null){ run = run.next.next; wk= wk.next; } ListNode first = head; ListNode second = wk.next; wk.next = null; // 干啥的?? // 以下是想不到的,可以先排序一下 if(first!=second){ left = sortList(first); right = sortList(second); } return mergeLists(left, right); } public ListNode mergeLists(ListNode left, ListNode right){ if(left==null) return right; if(right==null) return left; ListNode h = new ListNode(-1); ListNode cur = h; while(left!=null && right !=null){ if(left.val>right.val){ cur.next = right; cur = cur.next; right = right.next; }else{ cur.next = left; cur = cur.next; left = left.next; } } if(left!=null) cur.next = left; if(right!=null) cur.next = right; return h.next; }}
0 0
- list sort
- list sort
- Sort List
- Sort List
- list - sort
- Sort List
- Sort List
- Sort List
- Sort List
- Sort List
- Sort List
- Sort List
- Sort List
- Sort List
- Sort List
- Sort List
- Sort List
- Sort List
- toms sko norge
- toms sko norge
- toms sko norge
- toms sko norge
- toms sko norge
- Sort List
- 实用优化算法(一)准备和概念
- toms sko norge
- 用SharedPreferences保存用户信息
- toms sko norge
- toms sko norge
- hdu 3886 Final Kichiku “Lanlanshu(数位DP进阶)
- toms sko norge
- toms sko norge