[Leetcode] 148. Sort List

原创 2016年06月02日 09:45:49

题目:
Sort a linked list in O(n log n) time using constant space complexity.

思路:把两个已有顺序链表的合并想法。

具体代码:

public ListNode sortList(ListNode head) {
        if(head == null || head.next == null){
            return head;
        }

        ListNode p = head;
        ListNode end = head.next.next;

        while(end != null && end.next != null){
            p = p.next;
            end = end.next.next;
        }

        ListNode p2 = sortList(p.next);

        p.next = null;

        ListNode p1 = sortList(head);


        return MegerList(p1,p2);
    }

//  对两个已排序的链表进行合并
    public ListNode MegerList(ListNode head1,ListNode head2){
        ListNode phead = new ListNode(Integer.MIN_VALUE);
        ListNode p = phead;

        while(head1 != null && head2 != null){
            if(head1.val < head2.val){
                p.next = head1;
                head1 =head1.next;
            }
            else{
                p.next = head2;
                head2 =head2.next;
            }
            p = p.next;
        }

        if(head1 != null){
            p.next = head1;
        }
        if(head2 != null){
            p.next = head2;
        }

        return phead.next;
    }
版权声明:本文为博主原创文章,未经博主允许不得转载。

LeetCode(148)Sort List

题目如下: Sort a linked list in O(n log n) time using constant space complexity. 分析如下: 能够有O(n lgn)时间复杂度...
  • feliciafay
  • feliciafay
  • 2014年02月04日 08:09
  • 4395

LeetCode 148 — Sort List(C++ Java Python)

题目:http://oj.leetcode.com/problems/sort-list/ Sort a linked list in O(n log n) time using constant s...
  • dragon_dream
  • dragon_dream
  • 2014年03月02日 12:16
  • 3545

LeetCode 148之Sort List的java题解

转自:http://blog.csdn.net/worldwindjp/article/details/18986737 题目: Sort a linked list in O(n log n) ...
  • u012249528
  • u012249528
  • 2015年05月07日 10:00
  • 1061

【LEETCODE】148- Sort List [Python]

Sort a linked list in O(n log n) time using constant space complexity. 题意: 对一个链表排序,O(n log n) ...
  • aliceyangxi1987
  • aliceyangxi1987
  • 2016年02月23日 17:35
  • 841

[LeetCode] 148. Sort List java

/**148. Sort List * @param head * @return O(nlogn)给链表排序 */ public ListNode sortL...
  • u012937029
  • u012937029
  • 2017年03月09日 16:12
  • 161

148. Sort List (python)

Sort a linked list in O(n log n) time using constant space complexity. 思路:能够有O(n lgn)时间复杂度的算法为,快速排序...
  • qq_28119401
  • qq_28119401
  • 2016年09月19日 22:12
  • 268

[leetcode-148]Sort List(c)

问题描述: Sort a linked list in O(n log n) time using constant space complexity.分析:这里O(nlogn)的时间复杂度,肯定是...
  • zdavb
  • zdavb
  • 2015年08月31日 15:18
  • 471

LeetCode 148:Sort List

Sort a linked list in O(n log n) time using constant space complexity. //题目要求:对链表进行排序 //解题思路:归并排序,再...
  • geekmanong
  • geekmanong
  • 2016年01月03日 16:13
  • 28867

LeetCode - 148. Sort List

这道题分为三步,首先通过fast slow双指针的方法找到list中间的元素,其次将list分为两半分别对它们进行排序,最后将它们merge起来。注意这道题目同样使用了递归的思想,是merge sor...
  • shenzhu0127
  • shenzhu0127
  • 2016年07月03日 00:10
  • 100

Leetcode 148. Sort List

题目描述: Sort a linked list in O(n log n) time using constant space complexity. 我们知道对一个数组进行排序的时候, 时间复...
  • zhyh1435589631
  • zhyh1435589631
  • 2016年03月20日 17:56
  • 361
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Leetcode] 148. Sort List
举报原因:
原因补充:

(最多只允许输入30个字)