美文网首页
148. Sort List

148. Sort List

作者: juexin | 来源:发表于2017-01-09 19:16 被阅读0次

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

class Solution {
public:
    ListNode* sortList(ListNode* head) {
        if(head==NULL||head->next==NULL)
          return head;
        ListNode* slow = head;
        ListNode* fast = head;
        while(fast->next!=NULL&&fast->next->next!=NULL)
        {
            slow = slow->next;
            fast = fast->next->next;
        }
        ListNode* list = slow->next;
        slow->next = NULL;
        head = sortList(head);
        list = sortList(list);
        return merge(head,list);
    }
    
    ListNode* merge(ListNode* &list1,ListNode* &list2)
    {
        if(list1==NULL)
          return list2;
        if(list2==NULL)
          return list1;
        ListNode* newhead = new ListNode(-1);
        ListNode* last = newhead;
        while(list1!=NULL&&list2!=NULL)
        {
            if(list1->val<list2->val)
            {
                last->next = list1;
                last = last->next;
                list1 = list1->next; 
            }
            else
            {
                last->next = list2;
                last = last->next;
                list2 = list2->next;
            }
            
        }
        if(list1!=NULL)
            last->next = list1;
        else if(list2!=NULL)
            last->next = list2;
        return newhead->next;
    }
    
};

相关文章

  • 2019-01-13

    LeetCode 148. Sort List Description Sort a linked list in...

  • LeetCode #148 2018-07-28

    148. Sort List Sort a linked list in O(n log n) time usin...

  • 链表排序问题

    148. Sort List(链表归并排序)Sort a linked list in O(n log n) ti...

  • 148. Sort List

    嗯 stack 的办法很low对不对。 阿里当时面试官提示的一种基于二分法的一种办法,类似于快排。。二分 归并代码如下:

  • 148. Sort List

    https://leetcode.com/problems/sort-list/description/ Both...

  • 148. Sort List

    Sort a linked list in O(n log n) time using constant spac...

  • 148. Sort List

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

  • 148. Sort List

    My Submissions Total Accepted: 90190Total Submissions: 33...

  • 148. Sort List

    这题就是merge sort的链表实现。先看一下mergeSort: 复杂度O(nlogn)。这题的解法我看了ht...

  • 148. Sort List

    Sort a linked list in O(n log n) time using constant spac...

网友评论

      本文标题:148. Sort List

      本文链接:https://www.haomeiwen.com/subject/lbphbttx.html