博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
排序链表
阅读量:3958 次
发布时间:2019-05-24

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

题目来源

题目描述

给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。

进阶:
你可以在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?
在这里插入图片描述

思路分析

在这里插入图片描述

题目解答

class Solution {
public ListNode sortList(ListNode head) {
return sortList(head,null); } public ListNode sortList(ListNode head,ListNode tail){
if(head==null){
return null; } if(head.next==tail){
head.next=null; return head; } ListNode fast=head; ListNode slow=head; while(fast!=tail){
fast=fast.next; slow=slow.next; if(fast!=tail){
fast=fast.next; } } ListNode mid=slow; ListNode l1=sortList(head,mid); ListNode l2=sortList(mid,tail); ListNode sorted=merge(l1,l2); return sorted; } public ListNode merge(ListNode l1,ListNode l2){
if(l1==null){
return l2; } if(l2==null){
return l1; } ListNode cur1=l1; ListNode cur2=l2; ListNode newHead=new ListNode(-1); ListNode newTail=newHead; while(cur1!=null&&cur2!=null){
if(cur1.val

转载地址:http://inlzi.baihongyu.com/

你可能感兴趣的文章
平衡二叉树(AVL树)
查看>>
POJ1521---哈夫曼编码,求最优WPL
查看>>
POJ---2010(Moo University - Financial Aid,优先队列)
查看>>
POJ---3662(Telephone Lines,最短路+二分*好题)
查看>>
L2-007. 家庭房产(并查集)
查看>>
L2-016. 愿天下有情人都是失散多年的兄妹(搜索)
查看>>
L2-019. 悄悄关注
查看>>
POJ 3468 A Simple Problemwith Integers(SplayTree入门题)
查看>>
营业额统计 HYSBZ - 1588 (伸展树简单应用)
查看>>
HDU 1890 Robotic Sort(伸展树---反转应用)
查看>>
POJ 3580 SuperMemo(伸展树的几个基本操作)
查看>>
(十) Web与企业应用中的连接管理
查看>>
(八) 正则表达式
查看>>
一.JavaScript 基础
查看>>
7.ECMAScript 继承
查看>>
HTML DOM
查看>>
AJAX 基础
查看>>
JSON 基础
查看>>
J2EE监听器Listener接口大全[转]
查看>>
cookie、session、sessionid 与jsessionid[转]
查看>>