当前位置: 首页 > news >正文

网站建设后期收什么费用前端培训费用大概多少

网站建设后期收什么费用,前端培训费用大概多少,wordpress代码增强插件下载,做企业网站大约多少钱目录 题目描述:148. 排序链表(中等)题目接口解题思路代码 PS: 题目描述:148. 排序链表(中等) 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 LeetCode做题链接&#xff1…

目录

  • 题目描述:148. 排序链表(中等)
    • 题目接口
    • 解题思路
    • 代码
  • PS:

题目描述:148. 排序链表(中等)

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

LeetCode做题链接:LeetCode-排序链表

示例 1:
在这里插入图片描述

输入:head = [4,2,1,3]
输出:[1,2,3,4]

示例 2:
在这里插入图片描述

输入:head = [-1,5,3,4,0]
输出:[-1,0,3,4,5]

示例 3:

输入:head = []
输出:[]

提示:

链表中节点的数目在范围 [0, 5 * 104] 内
-105 <= Node.val <= 105

进阶: 你可以在 O(nlog n) 时间复杂度和常数级空间复杂度下,对链表进行排序吗?

题目接口

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode sortList(ListNode head) {}
}

解题思路

参考题解:Sort List (归并排序链表)

思路:递归

  • 1.用二分法的方法将列表从中间分割,再把分割的列表继续从中间分割,分割到最小单位(快慢指针)
  • 2.递归终止条件: 当 head.next == None 时,说明只有一个节点了,直接返回此节点
  • 3.再返回两个分割列表的合并列表(合并有序列表)
    可以跟着这个图理解一下~
    在这里插入图片描述

代码

/*** Definition for singly-linked list.* public class ListNode {*     int val;*     ListNode next;*     ListNode() {}*     ListNode(int val) { this.val = val; }*     ListNode(int val, ListNode next) { this.val = val; this.next = next; }* }*/
class Solution {public ListNode sortList(ListNode head) {// 1、递归结束条件if (head == null || head.next == null) {return head;}// 2、找到链表中间节点并断开链表 & 递归下探ListNode midNode = middleNode(head);ListNode rightHead = midNode.next;// 截断列表midNode.next = null;// 递归,不断下探到最深出最低端,再合并返回ListNode left = sortList(head);ListNode right = sortList(rightHead);// 3、当前层业务操作(合并有序链表)return mergeTwoLists(left, right);}//  找到链表中间节点(876. 链表的中间结点)private ListNode middleNode(ListNode head) {if (head == null || head.next == null) {return head;}ListNode slow = head;ListNode fast = head.next.next;while (fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;}return slow;}// 合并两个有序链表(21. 合并两个有序链表)private ListNode mergeTwoLists(ListNode l1, ListNode l2) {ListNode sentry = new ListNode(-1);ListNode curr = sentry;while(l1 != null && l2 != null) {if(l1.val < l2.val) {curr.next = l1;l1 = l1.next;} else {curr.next = l2;l2 = l2.next;}curr = curr.next;}curr.next = l1 != null ? l1 : l2;return sentry.next;}
}

PS:

感谢您的阅读!如果您觉得本篇文章对您有所帮助,请给予博主一个喔~

http://www.ritt.cn/news/29953.html

相关文章:

  • 广州番禺房价2023年最新房价搜索引擎优化什么意思
  • 网站开发都是用什么框架营销案例最新
  • 什么是建设网站工具百度指数的作用
  • jsp项目个人网站开发如何在百度上发布自己的广告
  • Wordpress演示主题新乡seo公司
  • 电子商务网站建设与实例网站广告制作
  • sexweibo wordpress热狗seo优化外包
  • 自制网站导航图怎么做做微商怎么找客源加人
  • pc网站开发百度竞价点击价格公式
  • 上海网站制作 公司钦州seo
  • 如何做视频网站首页媒体宣传推广方案
  • 做网站最好的工具百度相册登录入口
  • 企业网站建设一般考虑哪些因素?微营销平台
  • 西安专业网站制作百度门店推广
  • 免费网站域名查询国内免费ip地址
  • 校园网站的系统建设免费广告制作软件
  • 做犯法任务的网站东莞今日头条新闻
  • 乐清网站建设公司哪家好六盘水seo
  • 温州网站建设成功案例江苏网站建站系统哪家好
  • 在线做网页的网站百度指数官网首页
  • 桂林漓江在哪个县哪个区西安百度关键词优化
  • 个性flash网站google手机官网
  • 营销网站结构产品推广运营方案
  • 设计公司网站页面设计保定seo推广
  • 网站建设现在还有没有市场天津百度推广中心
  • 怎么看网站哪个公司做的软文代发代理
  • 做物流网站的多少钱互联网怎么赚钱
  • 可视化网页编辑工具关键词诊断优化全部关键词
  • aspnet网站开发案例百度指数免费查询
  • 哪个网站有做商标真实的优化排名