news 2026/6/3 13:41:48

A.每日一题——108. 将有序数组转换为二叉搜索树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
A.每日一题——108. 将有序数组转换为二叉搜索树

题目链接:108. 将有序数组转换为二叉搜索树(简单)

算法原理:

解法:递归

0ms击败100.00%

时间复杂度O(N)

①有序数组天然满足二叉搜索树性质:左区间 < 中间值 < 右区间
②因此只需要每次选中间节点做根 → 自动平衡:左右子数组长度差 ≤1,保证树高度平衡
③接树完全依靠 TreeNode 三参构造方法:创建节点时直接绑定左、右子树
④递归返回即子树构建完成:底层子树建好后返回给上层

Java代码:

/** * 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 sortedArrayToBST(int[] nums) { return dfs(nums,0,nums.length); } //把nums[left]到nums[right-1]转成平衡二叉树 private TreeNode dfs(int[] nums,int left,int right){ if(left==right) return null; int mid=left+(right-left)/2; //帮你把mid的左右区间分开,成为新子树后利用构造方法给你接上 return new TreeNode(nums[mid],dfs(nums,left,mid),dfs(nums,mid+1,right)); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/29 5:13:26

OpenClaw(原Clawdbot)2026年部署教程:小白快速上手

OpenClaw&#xff08;原Clawdbot&#xff09;2026年部署教程&#xff1a;小白快速上手。OpenClaw是什么&#xff1f;2026年OpenClaw搭建简易指南。OpenClaw&#xff08;原Clawdbot/Moltbot&#xff09;是一个开源的AI智能体平台&#xff0c;凭借其强大的任务自动化能力和多工具…

作者头像 李华
网站建设 2026/5/29 22:21:45

学长亲荐!专科生必备的AI论文网站 —— 千笔写作工具

你是否曾为论文选题发愁&#xff1f;是否在写到一半时突然卡壳&#xff0c;毫无头绪&#xff1f;又或者反复修改却仍不满意内容质量&#xff1f;论文写作不仅是对知识的考验&#xff0c;更是对时间和耐心的挑战。对于专科生来说&#xff0c;时间紧、任务重&#xff0c;更需要一…

作者头像 李华
网站建设 2026/5/28 21:54:08

UI自动化:如何选择适合的CSS定位方式(实战选型指南)

UI自动化&#xff1a;如何选择适合的CSS定位方式&#xff08;实战选型指南&#xff09; 在UI自动化测试中&#xff0c;CSS定位凭借高效、简洁、兼容性好的优势&#xff0c;成为大多数工程师的首选定位方式。但CSS定位包含多种选择器&#xff08;ID、类、属性、层级等&#xff0…

作者头像 李华
网站建设 2026/5/28 4:13:53

YC 专访 OpenClaw 创始人:80% 的 App 将会消失,我们还剩下什么?

编译 | 王启隆出品丨AI 科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;采访视频 | youtu.be/4uzGDAoNOZc如果说 2026 年初有什么事情比 OpenClaw 本身更疯狂&#xff0c;那大概就是它的创造者 Peter Steinberger 正在经历的生活。两周前&#xff0c;他还是一个居住…

作者头像 李华
网站建设 2026/6/2 20:09:11

【超详细】漏洞挖掘零基础入门教程!精通看这一篇就够!

初学者最好不要上手就去搞漏洞挖掘&#xff0c;因为漏洞挖掘需要很多的系统基础知识和一些理论知识做铺垫&#xff0c;而且难度较大…… 较合理的途径应该从漏洞利用入手&#xff0c;不妨分析一些公开的CVE漏洞。很多漏洞都有比较好的资料&#xff0c;分析研究的多了&#xff…

作者头像 李华