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

JAVA练习310- 将有序数组转换为二叉搜索树

题目概览

给你一个整数数组nums,其中元素已经按升序排列,请你将其转换为一棵 平衡 二叉搜索树。

平衡二叉树是指该树所有节点的左右子树的高度相差不超过 1。)

示例 1:

输入:nums = [-10,-3,0,5,9]输出:[0,-3,9,-10,null,5]解释:[0,-10,5,null,-3,null,9] 也将被视为正确答案:

示例 2:

输入:nums = [1,3]输出:[3,1]解释:[1,null,3] 和 [3,1] 都是高度平衡二叉搜索树。

提示:

  • 1 <= nums.length <= 10^4
  • -10^4 <= nums[i] <= 10^4
  • nums严格递增顺序排列

来源:108. 将有序数组转换为二叉搜索树 - 力扣(LeetCode)

解题分析

方法:二分法

二叉搜索树是左边元素 < 根节点 < 右边元素,因此我们可以用二分法,将数组的中间元素作为根节点,将数组拆分为两个子数组,两个子数组和左右两个节点再进行相同的操作,直到子数组长度为 0。

时间复杂度:O(n)
空间复杂度:O(n)

/** * 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 sortedArrayToBST(nums, 0, nums.length - 1); } public TreeNode sortedArrayToBST(int[] nums, int i, int j) { if (i > j) { return null; } int mid = (i + j) / 2; TreeNode node = new TreeNode(nums[mid]); node.left = sortedArrayToBST(nums, i, mid - 1); node.right = sortedArrayToBST(nums, mid + 1, j); return node; } }
http://www.jsqmd.com/news/1215733/

相关文章:

  • Agent 的本地优先与云端兜底:离线降级策略的架构设计
  • AI 辅助前端技术选型:多维度量化评估框架
  • 做题笔记 Ⅰ
  • AI工程师转型路径14-从第一个AI项目开始:颠覆传统学习的5个实战原则,边做边学才是正解
  • 企业短信名片服务商哪个好?短信界面即是品牌名片,提升品牌形象和信任度 - 企业服务推荐
  • 40P03-ASEMI大功率低压场景国产优选40P03
  • 亲身到店探访长沙百达翡丽官方售后服务中心|详细地址与官方售后热线(2026年7月最新) - 百达翡丽官方售后中心
  • 【多目标优化算法】基于档案的多目标算法优化(MAOA)附Matlab代码
  • 救命!2026年AI论文写作软件排行榜,选题卡壳的毕业生直接抄作业
  • 2026 年现阶段歙县值得关注的活珠子整箱批发报价供应商联系方式,揭秘:这箱活珠子的真实批发价曝光! - 领域鉴赏官
  • 2026年7月最新宇舶昆明时代天街维修保养服务电话 - 亨得利官方服务中心
  • 2026年紫金机械维修配件大盘点,一站式服务刷新维修认知 - 生活测评小能手
  • 还在为开题报告头秃?这5个AI写作辅助网站让你效率翻倍!
  • 宝珀官方售后服务中心地址与热线实地考察报告_多信源验证(2026年7月更新) - 宝珀官方售后服务中心
  • 西兰花矮砧密植:水肥一体化系统铺设全指南,你值得收藏
  • 百达翡丽中国官方售后服务中心|官方电话和详细地址权威信息通告(2026年7月最新) - 百达翡丽服务中心
  • 2026年双流区汽车隔热膜专业之选 保圣威固7V不凡门店费用明细
  • 山西人喜欢哪些酒店品牌 - GrowUME
  • LangChain 工具描述语言:如何写出让模型准确理解工具用途的描述
  • 如何从0到1构建自动化的咖啡和冰激凌机器人?
  • 2026年7月最新泉州宝玑官方售后客户服务电话及线下网点地址 - 亨得利钟表维修中心
  • Gemini图片识别准确率提升73%的5个隐藏参数配置:工程师绝不会告诉你的调试秘籍
  • 2026年7月水墨印刷开槽机实力厂家推荐,电脑控制高速水墨印刷开槽机/印刷联动线,水墨印刷开槽机加工厂口碑推荐 - 品牌推荐师
  • 从0到1精通Avocado-VT:虚拟化测试工程师的完整成长路线图
  • 2026年7月最新亨得利官方服务项目及价格查询|网点地址和热线权威信息公示 - 亨得利官方
  • Node.js 独立产品高可用架构:从单点到集群的容错设计
  • 3分钟扫码获取阿里云盘Refresh Token:安全授权终极指南
  • 生成式AI赋能大学英语告诫语言能力培养平台-开发日志(Day 2)
  • 9款AI论文写作软件:一键生成开题报告、论文大纲、学位论文与期刊论文
  • 甲骨文云充值入口在哪?账号付款设置说明