当前位置:网站首页>108. 将有序数组转换为二叉搜索树
108. 将有序数组转换为二叉搜索树
2022-07-30 05:15:00 【Alex_Drag】
- 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。
- 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。
- 示例:
- 给定有序数组: [-10,-3,0,5,9],
- 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:
- 0
- / \
- -3 9
- / /
- -10 5
- 来源:力扣(LeetCode)
- 链接:https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree
- 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
将有序数组转换成平衡二叉搜索树 ,平衡二叉树搜索有以下特征:节点的左子树的值都小于当前节点的值,节点的右子树的值都大于当前节点的值,左右子树的高度差不超过1。因为数组是有序的正好将数组中间分开,左面的值都是小于中间值,右面的值都是大于中间值的,正好符合平衡二叉搜索书的性质。
public TreeNode sortedArrayToBST(int[] nums) {
if (nums == null || nums.length == 0)
return null;
return toBst(nums, 0, nums.length - 1);
}
private TreeNode toBst(int[] nums, int start, int end) {
if (start > end)
return null;
//右子树多
//int mid = start + (end - start + 1 >> 1);
//左子树多
int mid = start + (end - start + 1 >> 1);
TreeNode root = new TreeNode(nums[mid]);
root.left = toBst(nums, start, mid - 1);
root.right = toBst(nums, mid + 1, end);
return root;
}
边栏推荐
- An old programmer's summary review of 2020, how to become more awesome in 2021
- 工具 | 常用 PostgreSQL 预防数据丢失方案
- VisualStudio2022 local debugging entry is particularly slow problem solving
- Concurrent Programming Review
- Us to raise interest rates by 75 basis points in "technical recession"?Encryption market is recovering
- 容器化 | 在 KubeSphere 中部署 MySQL 集群
- pyinstaller打包程序所遇问题记录
- Small program npm package--API Promise
- 是时候不得不学英语了,技多不压身,给自己多条路
- GO语言学习笔记一
猜你喜欢

Unity踩坑记录 —— GetComponent的使用

uni-app realizes cross-end development of mobile phone Bluetooth to receive and send data

Internet (software) company project management software research report

RadonDB MySQL Kubernetes 2.2.0 发布!

暴力递归到动态规划 05 (贴纸拼词)

The Golden Circle Rule: Deep Thinking Methods for Successful People

黄金圈法则:成功者必备的深度思考方法

Whole process scheduling - Azkaban entry and advanced

力扣541-反转字符串2——双指针法

一文带你吃透js处理树状结构数据的增删改查
随机推荐
Within the SQL connection table (link connections, left or right, cross connection, full outer join)
力扣541-反转字符串2——双指针法
Small programs use npm packages to customize global styles
Internet (software) company project management software research report
无代码开发平台重新申请入门教程
DLL说明(1)
盘点 | 常用 PG 数据恢复方案概览【建议收藏】
即刻报名|如何降低云上数据分析成本?
go语言学习笔记二
Hexagon_V65_Programmers_Reference_Manual (10)
mysql isolation level
[3D Detection Series-PointRCNN] Reproduces the PointRCNN code, and realizes the visualization of PointRCNN3D target detection, including the download link of pre-training weights (starting from 0 and
MySql字符串拆分实现split功能(字段分割转列、转行)
Kyligence 入选 Gartner 2022 数据管理技术成熟度曲线报告
Hexagon_V65_Programmers_Reference_Manual (14)
容器化 | 在 KubeSphere 中部署 MySQL 集群
go language study notes 2
pyinstaller打包程序所遇问题记录
Unity stepping on the pit record - the use of GetComponent
如何让 (a == 1 && a == 2 && a == 3) 的值为true?