二分查找 class Solution { public TreeNode sortedArrayToBST(int[] nums) { return sortedArrayToBST(nums, 0, nums.length - 1); } /** * 每次将数组的中间元素作为根节点,这样得到的二分搜索树就是高度平衡的 */ public TreeNode sortedA
将有序数组转换为二叉搜索树 题目描述:给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 示例说明请见LeetCode官网。 来源:力扣(LeetCode) 链接:h
class Solution: def sortedArrayToBST(self, nums: List[int]) -> TreeNode: if not nums: return None mid = len(nums)//2 root = TreeNode(nums[mid]) root.left =self.sortedArrayToBST(nums[:mid]) root.ri
想看更多算法题,可以扫描上方二维码关注我微信公众号“数据结构和算法”,截止到目前我已经在公众号中更新了500多道算法题,其中部分已经整理成了pdf文档,截止到目前总共有1000多页(并且还会不断的增加),可以在公众号中回复关键字“pdf”即可下载。 代码如下 public TreeNode
108. Convert Sorted Array to Binary Search Tree* https://leetcode.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 hei
①题目 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜
LeetCode--关于将有序数组转换为二叉树题目描述思路注意代码 题目描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 思路 跟中序遍历相似,先选出根节点,然后再确
逛街逛的腰酸腿疼,晚上没事儿一道题,目前进度仍然是超前一天的状态 用的递归,emm效率和内存占用都不是很好,有空看一下别人的做法 注意定义TreeNode*root=new TreeNode(0); 如果没有后半句,在访问root->val会提示空指针报错 方法本身没什么问题 效率低主要是因为两个vector慢而且占用内