148. 排序链表

编程入门 行业动态 更新时间:2024-10-03 19:23:08

148. 排序<a href=https://www.elefans.com/category/jswz/34/1769662.html style=链表"/>

148. 排序链表

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

class Solution {public ListNode sortList(ListNode head) {/**分治法求解 即可*/if(head==null||head.next==null){ return head;}ListNode low=head;ListNode fast=head.next;//快慢指针找 中点while(fast!=null&&fast.next!=null){fast=fast.next.next;low=low.next;}//low是中点ListNode rightNode=low.next;//右边的节点起点low.next=null;ListNode left=sortList(head);ListNode right=sortList(rightNode);return merge(left,right);}//合并public ListNode merge(ListNode left,ListNode right){ListNode dummy=new ListNode(-1);ListNode res=dummy;while(left!=null&&right!=null){if(left.val<right.val){res.next=left;left=left.next;}else{res.next=right;right=right.next;}res=res.next;}//有一个是空退出 或者都是空 退出whileres.next=(left==null?right:left);return dummy.next;    }
}

 

更多推荐

148. 排序链表

本文发布于:2024-03-23 17:33:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1740919.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:链表

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!