Sort List
来源:互联网 发布:想在淘宝开店没有货源 编辑:程序博客网 时间:2024/05/12 02:09
Q:
Sort a linked list in O(n log n) time using constant space complexity.
Solution:
Linked list merge sort.
/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNode sortList(ListNode head) { if (head == null || head.next == null) return head; ListNode slow = head; ListNode fast = head.next.next; while (fast != null && fast.next != null) { slow = slow.next; fast = fast.next.next; } ListNode mid = slow.next; slow.next = null; ListNode l1 = sortList(head); ListNode l2 = sortList(mid); return merge(l1, l2); } ListNode merge(ListNode l1, ListNode l2) { ListNode head = new ListNode(0); ListNode p = head; while (l1 != null && l2 != null) { if (l1.val < l2.val) { p.next = l1; p = p.next; l1 = l1.next; } else { p.next = l2; p = p.next; l2 = l2.next; } } if (l1 == null) p.next = l2; if (l2 == null) p.next = l1; return head.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
- Louis Vuitton Outlet Belts zhn32
- Authentic Cheap Louis Vuitton Outlet 41u2L
- Cheap Louis Vuitton Wallets OtIZE
- Authentic Cheap Louis Vuitton 7YBcH
- ·链表操作+迭代器 字符消除
- Sort List
- Louis Vuitton Outlet Bags TkBSl
- Cheap Louis Vuitton Handbags DL0eP
- Cheap Louis Vuitton Bags afd7e
- USACO Big Barn 解题报告
- Ext.net(2014-10-09)重新接触EXT.NET后的笔记
- Python入门复习-1-第一个程序
- 程序员总结:帮助你早些明白一些道理
- Authentic Louis Vuitton For Sale bYImQ