Java for LeetCode 148 Sort List

來源:互聯網
上載者:User

標籤:

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

解題思路:

歸併排序、快速排序、堆排序都是O(n log n),由於優先順序隊列是用堆排序實現的,因此,我們使用優先順序隊列即可,JAVA實現如下:

    public ListNode sortList(ListNode head) {    if(head==null||head.next==null)    return head;        Queue<ListNode> pQueue = new PriorityQueue<ListNode>(                0,new Comparator<ListNode>() {//提交的時候不能加初始容量(第一個參數),否則報錯                    public int compare(ListNode l1, ListNode l2) {                        return l1.val - l2.val;                    }                });        while(head!=null){        pQueue.add(head);        head=head.next;        }        head=pQueue.poll();        ListNode temp=head;        while(pQueue.size()>0){        temp.next=pQueue.poll();        temp=temp.next;        }        temp.next=null;        return head;    }

 

Java for LeetCode 148 Sort List

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.