博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【链表】Sort List(归并排序)
阅读量:4979 次
发布时间:2019-06-12

本文共 974 字,大约阅读时间需要 3 分钟。

题目:

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

思路:

nlogn的排序有快速排序、归并排序、堆排序。双向链表用快排比较适合,堆排序也可以用于链表,单向链表适合用归并排序。

/** * Definition for singly-linked list. * function ListNode(val) { *     this.val = val; *     this.next = null; * } *//** * @param {ListNode} head * @return {ListNode} */var sortList = function(head) {    if(head==null||head.next==null){        return head;    }else{        var slow=head,fast=head;        while(fast.next!=null&&fast.next.next!=null){            slow=slow.next;            fast=fast.next.next;        }        //拆成两个链表        fast=slow;        slow=slow.next;        fast.next=null;                fast=sortList(head);        slow=sortList(slow);        return merge(fast,slow);    }};function merge(head1,head2){    if(head1==null){        return head2;    }    if(head2==null){        return head1;    }    var res=new ListNode(),p=new ListNode();    if(head1.val

转载于:https://www.cnblogs.com/shytong/p/5142698.html

你可能感兴趣的文章
【MemSQL Start[c]UP 3.0 - Round 1 C】 Pie Rules
查看>>
Ognl中“%”、“#”、“$”详解
查看>>
我对应用软件——美团的看法
查看>>
struts2.x + Tiles2.x读取多个xml 配置文件
查看>>
表单校验之datatype
查看>>
python第六篇文件处理类型
查看>>
ubuntu16系统磁盘空间/dev/vda1占用满的问题
查看>>
grid网格布局
查看>>
JSP常用标签
查看>>
九涯的第一次
查看>>
处理器管理与进程调度
查看>>
向量非零元素个数_向量范数详解+代码实现
查看>>
java if 用法详解_Java编程中的条件判断之if语句的用法详解
查看>>
matlab sin函数 fft,matlab的fft函数的使用教程
查看>>
mysql adddate()函数
查看>>
mysql sin() 函数
查看>>
单片机复位电路
查看>>
php json_decode失败,返回null
查看>>
3-day3-list-truple-map.py
查看>>
Edit控件显示多行文字
查看>>