Convert Sorted Array to Binary Search Tree 将有序数组转为二叉搜索树
这道题是要将有序数组转为二叉搜索树,所谓二叉搜索树,是一种始终满足左<根<右的特性,如果将二叉搜索树按中序遍历的话,得到的就是一个有序数组了。那么反过来,我们可以得知,根节点应该是有序数组的中间点,从中间点分开为左右两个有序数组,在分别找出其中间点作为原中间点的左右两个子节点,这不就是是二分查找法的核心思想么。所以这道题考的就是二分查找法,代码如下:
中序遍历(LDR)是二叉树遍历的一种,也叫做中根遍历、中序周游。在二叉树中,中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。
思路: 找到列表中间位置的元素作为整棵树的根结点,然后递归建立子树,左叶子从列表的左半部分从后往前取,右叶子从列表的右半部分从前往后取,这样就能保证任意一个子树的左叶子小于根结点小于右叶子,即为平衡二叉搜索树。
class Solution:def sortedArrayToBST(self, nums: List[int]) -> TreeNode:if not nums:return Nonemid=len(nums)//2root=TreeNode(nums[mid])root.left=self.sortedArrayToBST(nums[:mid])root.right=self.sortedArrayToBST(nums[mid+1:])return root
class Solution:def sortedArrayToBST(self, nums: List[int]) -> TreeNode:if not nums:return Nonemid = len(nums)//2root = TreeNode(nums[mid])root.left =self.sortedArrayToBST(nums[:mid])root.right = self.sortedArrayToBST(nums[mid + 1:])return root
Convert Sorted Array to Binary Search Tree 将有序数组转为二叉搜索树相关推荐
- Convert Sorted Array to Binary Search Tree - LeetCode
目录 题目链接 注意点 解法 小结 题目链接 Convert Sorted Array to Binary Search Tree - LeetCode 注意点 不要访问空结点 题目要求的是平衡二叉搜 ...
- LeetCode: Convert Sorted Array to Binary Search Tree 解题报告
Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascending ord ...
- 【数组递归构造二叉树】LeetCode 108. Convert Sorted Array to Binary Search Tree
LeetCode 108. Convert Sorted Array to Binary Search Tree Solution1:我的答案 构造二叉树利用递归 /*** Definition fo ...
- leetcode python3 简单题108. Convert Sorted Array to Binary Search Tree
1.编辑器 我使用的是win10+vscode+leetcode+python3 环境配置参见我的博客: 链接 2.第一百零八题 (1)题目 英文: Given an array where elem ...
- PAT甲级1043 Is It a Binary Search Tree :[C++题解]判断二叉搜索树BST、给定前序序列和中序序列
文章目录 题目分析 题目链接 题目分析 二叉搜索树(BST):左子树小于根结点,右子树大于等于根结点. 二叉搜索树的中序遍历一定是有序序列.所谓中序遍历:先访问左子树,再访问根结点,最后访问右子树. ...
- LeetCode: 108. Convert Sorted Array to Binary Search Tree
题目 Given an array where elements are sorted in ascending order, convert it to a height balanced BST. ...
- Convert Sorted Array to Binary Search Tree With Minimal Height
Given a sorted (increasing order) array, Convert it to create a binary tree with minimal height. Exa ...
- [LeetCode] Convert Sorted Array to Binary Search Tree
Given an array where elements are sorted in ascending order, convert it to a height balanced BST. Hi ...
- [LeetCode]Convert Sorted Array to Binary Search Tree
题目描述:(链接) Given an array where elements are sorted in ascending order, convert it to a height balanc ...
- Convert Sorted Array to Binary Search Tree
Given an array where elements are sorted in ascending order, convert it to a height balanced BST. 首先 ...
最新文章
- 10 ping不通widwos7 windwos_弱电老司机总结的10种视频监控系统故障解决方法,学会,事半功倍...
- 4道Python基础文件操作函数 练习题
- 归纳DOM事件中各种阻止方法
- IPython Notebook简介1
- django models 文件夹
- 扫地机自动回充揭秘 之开启篇
- C#之xml配置文件读写
- Atitit 怎么阅读一本书 消化 分析 检索 attilax总结 1. 读书的本质 是数据的处理,大量的数据,处理能力有限的大脑	2 2. ETL数据清洗转换 摘要,缩小数据规模	2 2.1
- linux vsftpd 配置及使用详解
- qtp如何软件测试,QTP—Windows程序测试
- EXCEL等额本息还款计算器
- 【Java对象转换】002- Java 对象与 Map 互转
- ipython怎么安装_如何装ipython
- 白杨SEO:品牌口碑业务指什么?企业品牌口碑如何推广与预防公关危机?
- ajax中怎样获取下拉列表,如何从Ajax/Jquery的下拉列表中获取复选框中的数据
- Lattice并购案我国FPGA发展路径
- Audio Codec介绍
- 滴滴公布自查进展:免去黄洁莉顺风车事业部总经理职务
- git中无法拉取remote仓库中的更新(Untracked Files Prevent Merge)
- H.265/HEVC学习笔记:帧内预测编码