【LeetCode】-Sort List
来源:互联网 发布:windows 设置字符集 编辑:程序博客网 时间:2024/06/10 00:52
Sort a linked list in O(n log n) time using constant space complexity.
/** * 解题思路: * 分治递归的思想:1.将整个链表一分为二;2.对左右子链分别排序;3.将左右子链合并。 * * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { private ListNode findMid( ListNode head ){ListNode slow = head;ListNode fast = head.next;while( fast!=null && fast.next!=null ){fast = fast.next.next;slow = slow.next;}return slow;}private ListNode mergeList( ListNode h1, ListNode h2 ){ListNode head = new ListNode(0);ListNode tail = head;while( h1!=null && h2!=null ){if( h1.val>=h2.val ){tail.next = h2;h2 = h2.next;}else{tail.next = h1;h1 = h1.next;}tail = tail.next;}if( h1!=null ){tail.next = h1;}else{tail.next = h2;}return head.next;} public ListNode sortList(ListNode head) { if( head==null || head.next==null ) return head; ListNode mid = findMid(head); ListNode h1 = sortList(mid.next); mid.next = null; ListNode h2 = sortList(head); return mergeList(h1,h2); }}
0 0
- [leetcode][list][sort] Sort List
- Insertion Sort List | leetcode
- Leetcode: Insertion Sort List
- [LeetCode] Insertion Sort List
- Leetcode: Insertion Sort List
- Leetcode: Sort List
- Sort List | leetcode
- leetcode-Sort List
- leetcode-Insertion Sort List
- LeetCode题解:Sort List
- leetcode 134: Sort List
- [LeetCode]Sort List
- [LeetCode]Insertion Sort List
- [LeetCode] Sort List
- 【LeetCode】Insertion Sort List
- leetCode - Sort List
- LeetCode | Insertion Sort List
- LeetCode - Insertion Sort List
- 堆排序 算法摘记
- JAVA代码改错
- Android 外部存储权限分析
- DSP6000的上电及供电
- 12个 有趣的 C 语言面试题
- 【LeetCode】-Sort List
- hibernate环境搭建和基础操作
- 读书札记-2013年12月
- 2、搜索引擎的使用
- DSP6000的几个简单优化技巧
- 数字信号处理的学习资源
- 白话压缩感知(含Matlab代码)
- hdu 2122 Ice_cream’s world III(最小生成树))
- 如何区分javascript设计模式中的中介者模式(Mediator Pattern)与观察者模式(Observer Pattern)?