148. Sort List
来源:互联网 发布:阿里云系统与安卓区别 编辑:程序博客网 时间:2024/05/17 21:39
Sort a linked list in O(n log n) time using constant space complexity.
思路:可以参考归并排序的思想,一半一半的使之有序,然后归并
代码如下(已通过leetcode)
public class Solution {
public ListNode sortList(ListNode head) {
if(head==null||head.next==null) return head;
ListNode middle=getmiddle(head);
ListNode next=middle.next;
middle.next=null;
return mergeList(sortList(head),sortList(next));
}
public ListNode getmiddle(ListNode head) {
ListNode slow=head;
ListNode fast=head;
while(fast.next!=null&&fast.next.next!=null) {
slow=slow.next;
fast=fast.next.next;
}
return slow;
}
public ListNode mergeList(ListNode head1,ListNode head2) {
ListNode res=new ListNode(-1);
ListNode cur=res;
while(head1!=null&&head2!=null) {
if(head1.val<head2.val) {
cur.next=head1;
head1=head1.next;
} else {
cur.next=head2;
head2=head2.next;
}
cur=cur.next;
}
while(head1!=null) {
cur.next=head1;
head1=head1.next;
cur=cur.next;
}
while(head2!=null) {
cur.next=head2;
head2=head2.next;
cur=cur.next;
}
return res.next;
}
}
- Sort-----148. Sort List
- 148. Sort List leetcode list
- LeetCode 148. Sort List
- [LeetCode]148.Sort List
- 148. Sort List
- [leetcode] 148.Sort List
- 148. Sort List
- 148. Sort List LeetCode
- Leetcode 148. Sort List
- 148. Sort List
- 148. Sort List
- 148. Sort List
- 148. Sort List
- 148. Sort List
- 148. Sort List
- LeetCode *** 148. Sort List
- 148. Sort List
- LeetCode 148. Sort List
- Spring AOP工作机制
- 如何解决Servlet与jsp之间传递汉字出现乱码
- DragonBoard410c手把手进行安卓开发
- 多线程_学习笔记_第七周
- LeetCode *** 150. Evaluate Reverse Polish Notation
- 148. Sort List
- JSTL标签循环集合列表
- 探究如何求两数的最大公约数(两种方法)
- sdau-2 1015
- Struts2标签之<s:iterator/>标签详解
- Android开发一些实用方法
- js之事件冒泡和事件捕获详细介绍
- Struts数据回显技术(附加防表单重复提交)
- spring+activemq+maven集成