有序数组转换为二叉搜索树
给你一个整数数组 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,3] 和 [3,1] 都是高度平衡二叉搜索树。
提示:
1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums 按 严格递增 顺序排列
package com.kk;public class SortedArrayToBST {public TreeNode sortedArrayToBST(int[] nums) {return helper(nums,0,nums.length-1);}public TreeNode helper(int[] nums, int left, int right){if (left>right){return null;}// 总是选择中间位置左边的数字作为根节点int mid=(left+right)/2;TreeNode root=new TreeNode(nums[mid]);root.left=helper(nums,left,mid-1);root.right=helper(nums,mid+1,right);return root;}public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode() {}TreeNode(int val) { this.val = val; }TreeNode(int val, TreeNode left, TreeNode right) {this.left = left;this.right = right;}}
}
.left = left;this.right = right;}}
}
有序数组转换为二叉搜索树相关推荐
- 将字符串转换为数组_LeetCode 树 108.将有序数组转换为二叉搜索树
7(108) 将有序数组转换为二叉搜索树 描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 ...
- 数据结构与算法--力扣108题将有序数组转换为二叉搜索树
力扣108提将有序数组转换为二叉搜索树 近一年都比较关注算法相关的知识,也刷了不少题,之前的文章中大多也是算法相关的文章,但是感觉每次遇到树相关的题型都不能应对自如,因此还是有必要在相关知识上下功夫, ...
- [leetcode-108,109] 将有序数组转换为二叉搜索树
109. 有序链表转换二叉搜索树 Given a singly linked list where elements are sorted in ascending order, convert it ...
- 20200703:将有序数组转换为二叉搜索树(leetcode108)
将有序数组转换为二叉搜索树 题目 思路与算法 代码实现 复杂度分析 题目 将有序数组转换为二叉搜索树 思路与算法 乍一看很简单,实际也很简单,今天的动态规划没做出来,就刷每日一题好了.保证平衡的最简单 ...
- 20190917:(leetcode习题)将有序数组转换为二叉搜索树
将有序数组转换为二叉搜索树 题目 大致思路 代码实现 题目 大致思路 将有序数组转换为二叉平衡树,即左边的数和右边数的差值不超过1,那么root节点应该为正中间的数,然后左边的剩余的中间为root.l ...
- laravel数组转换为字符串_LeetCode刷题实战108:将有序数组转换为二叉搜索树
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- Suzy找到实习了吗 Day23 | 二叉树最后一节!669. 修剪二叉搜索树,108. 将有序数组转换为二叉搜索树,538. 把二叉搜索树转换为累加树
669. 修剪二叉搜索树 题目 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high.通过修剪二叉搜索树,使得所有节点的值在[low, high]中.修剪树 不应该 改变保 ...
- LeetCode(Python)—— 将有序数组转换为二叉搜索树(简单)
将有序数组转换为二叉搜索树 概述:给你一个整数数组 nums ,其中元素已经按升序排列,请你将其转换为一棵高度平衡二叉搜索树.高度平衡二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 ...
- leetcode刷题记录--数据结构;深度优先搜索算法;二叉树;平衡树;1020. 飞地的数量;1669. 合并两个链表;108. 将有序数组转换为二叉搜索树
1020. 飞地的数量 难度中等131 给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格.1 表示一个陆地单元格. 一次 移动 是指从一个陆地单元格走到另一个相邻(上 ...
- LeetCode实战:将有序数组转换为二叉搜索树
题目英文 Given an array where elements are sorted in ascending order, convert it to a height balanced BS ...
最新文章
- Python:新浪网分类资讯爬虫
- 19. 删除链表的倒数第N个节点
- linux centos 丢失 grub.conf 启动系统
- centos 安装搜狗输入法_Ubuntu 20.04 安装搜狗输入法
- bigquery sql 正则表达式
- (转)Android基础类之BaseAdapter
- [css] Reset CSS和Normalize CSS的区别是什么?
- 今天专攻POWERSHELL获取本机CPU,内存消耗
- 阿里开源自研语音识别模型 DFSMN,准确率高达96.04%
- 基于 CoreAudio 的音频编解码(二):音频编码
- Zephyr_overlay文件讲解
- 客服机器人代码_企业微信群机器人如何快速集成?无需开发连接微信公众号,表单系统,钉钉,推广,CRM,客服系统和数据库...
- Ghost module
- 普元EOS7.x及以下版本升级Tomcat8
- java开发环境实验总结_20155229 实验一《Java开发环境的熟悉》实验报告
- 计算机用户名取名,重命名电脑用户名
- html日期控件默认设置为当天日期
- 线圈拉链行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- Java自学笔记——Java面向对象——04.抽象类、接口、内部类
- DeFi对金融世界的变革|读麦道夫庞氏骗局有感
热门文章
- Debian下措置惩罚上网慢的成绩
- C#实现重新启动计算机
- Windows Workflow Foundation(一)(转载)
- Ubuntu 20.04开机自启脚本(亲测)
- scp命令下载整个目录
- MYSQL主从不同步延迟原理分析及解决方案
- failed to open stream :HTTP request failed 解决方法
- mysql数据库表字段使用DESC等关键字报错及解决方法
- codeblocks和vscode编译时弹出不支持的16位程序解决方案
- 解决ajax异步请求数据后swiper不能循环轮播(loop失效)问题、滑动后不能轮播的问题。