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

Leetcode top100之链表排序

148. 排序链表 - 力扣(LeetCode)

思路比较巧妙

1.使用快慢指针,找到链表的中间节点

2.断开中间连接,对两端递归排序

3.合并两个链表

有快慢指针的技巧和合并链表的技巧

注意点:

快慢指针起点,slow=head,fast=head.next

链表排序前,注意返回头,排完序后,链表头是变化的

    public ListNode sortList(ListNode head) {if (head == null || head.next == null) {return head;}ListNode mid = getMidNode(head);ListNode temp = mid.next;mid.next = null;ListNode left = sortList(head);ListNode right = sortList(temp);return mergeList(left,right);}private ListNode mergeList(ListNode l1, ListNode l2) {ListNode pre = new ListNode(-1);ListNode now = pre;while (l1 != null && l2 != null) {if (l1.val > l2.val) {now.next = l2;l2 = l2.next;now = now.next;} else {now.next = l1;l1 = l1.next;now = now.next;}}if (l1 != null) {now.next = l1;}if (l2 != null) {now.next = l2;}return pre.next;}private ListNode getMidNode(ListNode head) {ListNode slow= head;ListNode fast = head.next;while (fast != null && fast.next != null) {slow = slow.next;fast = fast.next.next;}return slow;}

http://www.dtcms.com/a/350626.html

相关文章:

  • Swift 解法详解 LeetCode 362:敲击计数器,让数据统计更高效
  • 【猿人学】web第一届 第16题 js-逆向 windows蜜罐 / webpack初体验
  • 通过C#上位机串口写入和读取浮点数到stm32实战5(通过串口读取bmp280气压计的数值并在上位机显示)
  • java 并发编程八股-多线程篇
  • 【已解决】统信UOS安装后没有有线网络,缺少Chengdu Haiguang IC Design Co., Ltd. 10 Gb Ethernet网卡驱动
  • 支付宝直连商户,自动处理支付交易投诉,支持多支付宝应用
  • 【VS2022】背景设置详细教程(背景透明)
  • AI 时代“驯导师”职业发展方向探究
  • 用AI生成的一个BadgerDB的管理工具
  • 深入剖析Hugging Face Transformers中的KV Cache
  • Element plus日期选择器从今天开始、时间跨度为3天
  • 【Android 16】Android W 的冻结机制框架层分析
  • 茶艺实训室建设方案:打造沉浸式茶文化教学空间
  • SAVITECH盛微先进SAVIAUDIO音频解码芯片方案与应用
  • Chromium 源码中的单例管理:LazyInstance 与 NoDestructor 的深入解析与实战对比
  • vscode(MSVC)进行c++开发的时,在debug时查看一个eigen数组内部的数值
  • uniapp安卓真机调试问题解决总结
  • redis----list详解
  • C# 相机内存复用(减少图像采集耗时)以及行数复用
  • 自定义树形构造器
  • python项目实战 3D宠物狗
  • 关于传统的JavaWeb(Servlet+Mybatis)项目部署Tomcat后的跨域问题解决方案
  • MM-2025 | 北航双无人机协作助力视觉语言导航!AeroDuo:基于空中双机系统的无人机视觉语言导航
  • 简述mysql中索引类型有哪些,以及对数据库的性能的影响?
  • JBL音响代理——河北正娱科技的声学精品工程
  • 网络编程-HTTP
  • 插曲 - 为什么光速不变
  • 【代码】洛谷P3391 【模板】文艺平衡树(FHQ Treap)
  • 低质量视频变高清AI:告别模糊,重现清晰画质
  • chrome插件开发(二)