【LeetCode-树】-- 109.有序链表转换二叉搜索树

109.有序链表转换二叉搜索树

image-20231212200616102

方法:找到链表的中点,将其作为根节点

/*** 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; }* }*/
/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public TreeNode sortedListToBST(ListNode head) {return buildTree(head,null);}public TreeNode buildTree(ListNode left,ListNode right){if(left == right){return null;}ListNode mid = getMid(left,right);TreeNode root = new TreeNode(mid.val);root.left = buildTree(left,mid);root.right = buildTree(mid.next,right);return root;}public ListNode getMid(ListNode left,ListNode right){ListNode fast = left;ListNode slow = left;while(fast.next != right && fast.next.next != right){fast = fast.next.next;slow = slow.next;}return slow;}//找到链表的中间节点作为根节点
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/216619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中import mysql.connector出错无模块,且是已经pip install mysql-connector情况下

已经安装了mysql-connector和mysql-connector-python,使用python连接数据库,导入import mysql.connector仍报错: import mysql.connector# Connect to server cnx mysql.connector.connect(host"127.0.0.1",port3306,user"a…

视频剪辑进阶指南:批量置入视频封面,增加视频吸引力

在视频剪辑的进阶阶段,除了掌握基本的剪辑技巧和特效处理,还要尝试一些创新的方法来增加视频的吸引力。批量置入视频封面就是一种有效的方式。通过置入吸引的封面,能吸引观众点击视频并提高观看量。下面详细介绍云炫AI智剪如何批量置入视频封…

pandas按行值筛选

之前都没有意识到这个问题,就是pandas取某一行的值的问题 测试代码如下 import pandas as pd import numpy as np df pd.DataFrame({A: foo bar foo bar foo bar foo foo.split(),B: one one two three two two one three.split(),C: np.arange(8), D: np.arange…

GO闭包实现原理(汇编级讲解)

go语言闭包实现原理(汇编层解析) 1.起因 今天开始学习go语言,在学到go闭包时候,原本以为go闭包的实现方式就是类似于如下cpp lambda value通过值传递,mutable修饰可以让value可以修改,但是地址不可能一样value通过引用传递,但是在其他地方调用时,这个value局部变量早就释放,…

数据结构第六课 -----排序

作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 ​🎂 作者介绍: 🎂🎂 🎂 🎉🎉&#x1f389…

【Canvas】记录一次从0到1绘制风场空间分布图的过程

前言 📫 大家好,我是南木元元,热衷分享有趣实用的文章,希望大家多多支持,一起进步! 🍅 个人主页:南木元元 目录 背景 前置知识 风场数据 绘制风场 准备工作 生成二维网格 获取…

【BI】FineBI功能学习路径-20231211

FineBI功能学习路径 https://help.fanruan.com/finebi/doc-view-1757.html 编辑数据概述 1.1 调整数据结构 1.2 简化数据 2.1上下合并 2.2其他表添加列 2.3左右合并 新增分析指标 函数参考 https://help.fanruan.com/finereport/doc-view-1897.html 数值函数 日期函数 文…

【unity小技巧】FPS游戏后坐力制作思路

参考原视频链接 :https://www.bilibili.com/video/BV1j44y1S7fX/ 注意:本文为学习笔记记录,推荐支持原作者,去看原视频自己手敲代码理解更加深入 免责声明:向宇的博客免责声明 文章目录 前言不加后座力效果简单添加后座…

如何在Cloudflare创建自己的反向代理

大家在使用Cloudflare做反向代理的时候会遇到一个问题,命名已经配置好了,但是还是访问不了,是因为Cloudflare的workers.dev域名在中国大陆区域已经被污染无法访问,所以需要自有域名进行解析。 本文的主要内容有以下三部分 1、域…

Linux系统编程:高级IO总结

非阻塞IO基本概念 高级IO核心就一个概念:非阻塞IO。 与该概念相对的,就是我们之前学习过的阻塞IO。 非阻塞IO(Non-blocking I/O)是一种IO模型,用于实现异步IO操作,使应用程序能够在等待IO操作完成的同时…

洛谷 P8802 [蓝桥杯 2022 国 B] 出差

文章目录 [蓝桥杯 2022 国 B] 出差题目链接题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示 思路解析CODE [蓝桥杯 2022 国 B] 出差 题目链接 https://www.luogu.com.cn/problem/P8802 题目描述 A \mathrm{A} A 国有 N N N 个城市,编号为 1 … N …

数据库范式(详细介绍)

目录 第一范式(原子性) 第二范式(主键唯一性) 第三范式(原子性主键唯一性) BC范式(3NFplus) 第一范式(原子性) 确保每列保证原子性,保证这个属性(字段&am…

SpringBoot AOP切面实现对自定义注解的属性动态修改

文章目录 需求问题解决方案示例代码 需求 项目中共用了一个redis,而项目中部分代码使用了JetCache的Cached注解。所以需要给Cached动态配置area属性值,用来区分dev和test环境。 问题 自定义注解的属性值需要常量值,即static final修饰&…

学习-面试java基础-(集合)

String 为什么不可变? 1线程安全 2支持hash映射和缓存。因为String的hash值经常会使用到,比如作为 Map 的键,不可变的特性使得 hash 值也不会变,不需要重新计算。 3出于安全考虑。网络地址URL、文件路径path、密码通常情况下都是以…

Python之Requests库使用总结

概述 Requests是python中一个很Pythonic的HTTP库,用于构建HTTP请求与解析响应 Requests开发哲学 Beautiful is better than ugly.(美丽优于丑陋) Explicit is better than implicit.(直白优于含蓄) Simple is better than complex.(简单优于复杂) Complex is bett…

回顾【数学基础】找出断层,继续前进, 使用chatGPT学习并解决实际问题:微积分

已经学过的算术、代数、几何。跳过。 从微积分开始 想象一下,你在画一条曲线,或者在一个大草地上奔跑。微积分就是一种数学工具,帮助我们了解这条曲线的形状,或者你奔跑的方式。 微分(就像研究曲线上的每一小点&…

FFmpeg的AVIOPROBE

文章目录 定义 可能你一直有疑问,ffmpeg的avformat是怎么提前知道码流是编码格式或者容器?恭喜你,看到这里,你找到答案了,在这里,ffmpeg通过这些probe函数来提前获取码流的编码格式。 看到下面的avs2_prob…

C++1114新标准——统一初始化(Uniform Initialization)、Initializer_list(初始化列表)

系列文章目录 C11&14新标准——Variadic templates(数量不定的模板参数) C11&14新标准——Uniform Initialization(统一初始化)、Initializer_list(初始化列表) 文章目录 系列文章目录1. 定义2. I…

装饰者模式(Decorator Pattern)

1 什么是装饰者模式? 1.1 Head First Design Pattern 定义 装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 1.2 大佬博客 设计模式是什么鬼(装饰) 2 装饰者模式 2.1 基本介绍 …

Goby 漏洞发布| 亿赛通电子文档安全管理系统 LinkFilterService 接口权限绕过漏洞

漏洞名称:亿赛通电子文档安全管理系统 LinkFilterService 接口权限绕过漏洞 English Name:Esafenet Electronic Document Security Management System LinkFilterService API Permission Bypass Vulnerability CVSS core: 9.3 影响资产数:…