laravel数组转换为字符串_LeetCode刷题实战108:将有序数组转换为二叉搜索树
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !
今天和大家聊的问题叫做 将有序数组转换为二叉搜索树,我们先来看题面:
https://leetcode-cn.com/problems/convert-sorted-array-to-binary-search-tree/
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.
题意
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。样例
解题
二叉搜索树是一种树种每个节点都大于它的左子节点,小于它的右子节点的树。如果中序遍历二叉搜索树,则结果为一个有序序列。由二叉搜索树的性质可知,题目中给定有序数组的中间数即为根节点,中间数左边的序列为根节点的左子树,右边的序列为根节点的右子树,依次类推,因此,可以采用二分法来解题。
# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution:def sortedArrayToBST(self, nums: List[int]) -> TreeNode:return self.BST(nums, 0, len(nums)-1)def BST(self, nums, start, end):if start > end:return None
mid = (start + end)//2
cur = TreeNode(nums[mid])
cur.left = self.BST(nums, start, mid-1)
cur.right = self.BST(nums, mid + 1, end)return cur
好了,今天的文章就到这里,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力。
上期推文:LeetCode1-100题汇总,希望对你有点帮助!LeetCode刷题实战101:对称二叉树LeetCode刷题实战102:二叉树的层序遍历LeetCode刷题实战103:二叉树的锯齿形层次遍历LeetCode刷题实战104:二叉树的最大深度LeetCode刷题实战105:从前序与中序遍历序列构造二叉树LeetCode刷题实战106:从中序与后序遍历序列构造二叉树LeetCode刷题实战107:二叉树的层次遍历 II
laravel数组转换为字符串_LeetCode刷题实战108:将有序数组转换为二叉搜索树相关推荐
- gorm preload 搜索_LeetCode刷题笔记|95:不同的二叉搜索树 II
题目描述 给定一个整数 n,生成所有由 1 ... n 为节点所组成的 二叉搜索树 . 示例 输入:3 输出: [ [1,null,3,2], [3,2,null,1], [3,1,null,null ...
- byte数组转字符串_leetcode刷题844比较含退格的字符串(带代码解析,带知识点回顾)...
844. 比较含退格的字符串 难度:简单 第一:简单浏览一下题目 给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果.# 代表退格字符. 注意:如果对空文 ...
- leetcode数组汇总_LeetCode刷题实战118:杨辉三角
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !今天和大家聊 ...
- 子集和问题 算法_LeetCode刷题实战90:子集 II
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- ( “树” 之 BST) 109. 有序链表转换二叉搜索树 ——【Leetcode每日一题】
二叉查找树(BST):根节点大于等于左子树所有节点,小于等于右子树所有节点. 二叉查找树中序遍历有序. 109. 有序链表转换二叉搜索树 给定一个单链表的头节点 head ,其中的元素 按升序排序 , ...
- 【LeetCode每日一题】——109.有序链表转换二叉搜索树
文章目录 一[题目类别] 二[题目难度] 三[题目编号] 四[题目描述] 五[题目示例] 六[题目提示] 七[解题思路] 八[时间频度] 九[代码实现] 十[提交结果] 一[题目类别] 二叉树 二[题 ...
- leetcode数组汇总_LeetCode刷题实战43:字符串相乘
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- 数组翻转_LeetCode刷题实战151:翻转字符串里的单词
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !今天和大家聊 ...
- left join缺失右括号_LeetCode刷题实战31:最长有效括号
来源: https://www.cnblogs.com/techflow/p/12393742.html 算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为 ...
最新文章
- R语言ggplot2可视化:可视化多个图像并组合起来(如果没有对齐,看着丑陋))、保证组合的图像图像区域对齐或者图像整体对齐(Align plot areas in ggplot)
- 华为内部面试题库---(9)
- Laravel 中的异常处理
- 执行计划有时不准确_生管如何应对采购物料不及时、回不来?
- boost::math模块计算 Bessel 和 Neumann 函数的零点的测试程序
- 学习OpenCV,看这些!
- matlab用for编写乘法表,实验二 Matlab程序设计基本方法1
- 操作系统原理与实践-2操作系统的引导
- 消息称AirPods 3搭载U1芯片 耳机柄变小
- 跨境商家为什么要建自己的独立站?
- linux spoon.sh闪退,kettle使用spoon.sh打开报错问题解决
- vue递归组件eventBus策略解决父子组件通讯问题
- 计算机考研 东华大学,东华大学(专业学位)计算机技术考研难吗
- Linux-firewalld-squid正向代理
- 假设有一台多道程序的计算机,某多道程序设计系统配有一台处理器和两台外设101、102,现有3个优先级由高到低的作业J1、J2、J3都已 - 试题答案网问答...
- 写刀路的一些经验[分享] 铜公加工方法及注意事项
- Linux上查找最大文件的 3 种方法
- 计算机能不能升级固态硬盘,笔记本升级固态硬盘后会怎样?秒懂
- 网站微调是什么意思?能带来什么作用?
- 基于go的二维码签到系统
热门文章
- JDK动态代理运行期生成的字节码文件class,获取反编译方法
- Ubuntu安装配置JDK、Tomcat、SVN服务器
- 推荐一本学javascript的书籍---经典
- Apache Arrow 内存数据交换格式
- backbone, AngularJS, EmberJS 简单比较
- Jsp基本page指令、注释、方法声明,书写规范及注意事项
- 数据库设计三范式的举例及四大特性说明
- 关于python字符编码_关于python文件的字符编码
- python星空画法教程_教程 | 美轮美奂的星空画法
- python曲线图数据爬取_python爬取二手房库存,存数数据库,生成折线图(上)