深圳企业网站制作设计方案,动漫设计专科学校,知己图书网站建设策划书,丽江网站建设 莱芜系列文章目录 文章目录 系列文章目录前言 前言
前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到网站#xff0c;这篇文章男女通用#xff0c;看懂了就去分享给你的码吧。 描述 给定一个节点…系列文章目录 文章目录 系列文章目录前言 前言
前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到网站这篇文章男女通用看懂了就去分享给你的码吧。 描述 给定一个节点数为n的无序单链表对其按升序排序。
import java.util.*;/** public class ListNode {* int val;* ListNode next null;* }*/public class Solution {/*** * param head ListNode类 the head node* return ListNode类*/public ListNode sortInList (ListNode head) {// write code hereif (head null || head.next null)return head;// 使用快慢指针寻找链表的中点ListNode fast head.next, slow head;while (fast ! null fast.next ! null) {slow slow.next;fast fast.next.next;}ListNode tmp slow.next;slow.next null;// 递归左右两边进行排序ListNode left sortInList(head);ListNode right sortInList(tmp);// 创建新的链表ListNode h new ListNode(0);ListNode res h;// 合并 left right两个链表while (left ! null right ! null) {// left right链表循环对比if (left.val right.val) {h.next left;left left.next;} else {h.next right;right right.next;}h h.next;}// 最后添加未对比的链表部分判断左链表是否为空h.next left ! null ? left : right;return res.next;}
}