sort-list java code
来源:互联网 发布:精神发育迟缓症状知乎 编辑:程序博客网 时间:2024/06/05 11:33
Sort a linked list in O(n log n) time using constant space complexity.
思路:先用分治思想将数组分段排序好,然后再采用归并算法进行最终的排序。
/** * 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; while (fast != null && fast.next != null) { slow = slow.next; fast = fast.next.next; } ListNode right = sortList(slow.next); slow.next = null; ListNode left = sortList(head); // /待左右两边各自有序,进行归并即可 ListNode temp_head = new ListNode(0); ListNode temp_node = temp_head; while (left != null && right != null) { if (left.val < right.val) { temp_node.next = left; left = left.next; } else { temp_node.next = right; right = right.next; } temp_node = temp_node.next; } if (left != null) temp_node.next = left; if (right != null) temp_node.next = right; return temp_head.next; }}
阅读全文
0 0
- sort-list java code
- insertion-sort-list java code
- CODE 145: Sort List
- CODE 144: Insertion Sort List
- [leet code] Insertion Sort List
- [Leetcode] Sort List (Java)
- LeetCode:Sort List (Java)
- Insertion Sort List Java
- Sort List (Java)
- Insertion Sort List (Java)
- Leetcode: Sort List (Java)
- java List sort 排序
- Sort List leetcode java
- 【Leet Code】147. Insertion Sort List---Medium
- 【Leet Code】148. Sort List---Medium
- reorder-list Java code
- partition-list Java code
- leetcode: Sort List, Merge sort solution. Java
- python实现有道翻译英文转中文
- App域名劫持之DNS高可用
- Zookeeper windows系统安装
- UVa10795
- [洛谷]P1311 选择客栈
- sort-list java code
- eclipse下Ctrl+H搜索并替换全项目字符串
- 域名劫持原理及实现
- php web 请求控制
- Bringing up interface eth0: Error:Connection activation failed:Device not managed by NetworkManager
- Python正则表达式中的re.S
- Spring Boot 快速上手(四)事务使用
- 移植Dnsmasq到Android
- 【Struts】struts自带的拦截器