LeetCode-108. Convert Sorted Array to Binary Search Tree
来源:互联网 发布:python 极大似然估计 编辑:程序博客网 时间:2024/06/03 16:01
问题:
https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/?tab=Description
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
给定一个数组,数组中的元素是升序排好的,将它转换为高度平衡二叉检索树。
分析:
高度平衡二叉检索树:任意两子树之间的深度之差不大于1。二分法递归构造。如果数组是空的,返回空指针。否则,取出中值,用它构造根节点。然后用数组中左边的元素构造左子树,右边的元素构造右子树。子树的构造是一个递归的过程。
参考C++代码:
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: TreeNode* sortedArrayToBST(vector<int>& nums) { return build(nums,0,nums.size()-1); } TreeNode* build(vector<int>&nums,int l,int r){ if(l>r) return NULL; int mid=(l+r)/2; TreeNode *node = new TreeNode(nums[mid]); node->left=build(nums,l,mid-1); node->right=build(nums,mid+1,r); return node; }};
0 0
- LeetCode 108. Convert Sorted Array to Binary Search Tree
- [LeetCode]108.Convert Sorted Array to Binary Search Tree
- 108. Convert Sorted Array to Binary Search Tree Leetcode Python
- [Leetcode] 108. Convert Sorted Array to Binary Search Tree
- LeetCode --- 108. Convert Sorted Array to Binary Search Tree
- [leetcode] 108.Convert Sorted Array to Binary Search Tree
- LeetCode 108. Convert Sorted Array to Binary Search Tree
- 108. Convert Sorted Array to Binary Search Tree LeetCode
- [LeetCode]108. Convert Sorted Array to Binary Search Tree
- [LeetCode]108. Convert Sorted Array to Binary Search Tree
- [leetcode] 108. Convert Sorted Array to Binary Search Tree
- Leetcode 108. Convert Sorted Array to Binary Search Tree
- leetCode 108. Convert Sorted Array to Binary Search Tree JAVA
- LeetCode *** 108. Convert Sorted Array to Binary Search Tree
- leetcode 108. Convert Sorted Array to Binary Search Tree
- leetcode 108. Convert Sorted Array to Binary Search Tree
- LeetCode - 108. Convert Sorted Array to Binary Search Tree
- 【LeetCode】108. Convert Sorted Array to Binary Search Tree
- 与 C++11 多线程相关的头文件
- React基于fetch的表单提交
- redis导入导出工具
- K3 二次开发常用数据表
- android应用程序联网需配置
- LeetCode-108. Convert Sorted Array to Binary Search Tree
- protues与keil联合仿真51单片机跑马灯实例
- Swift 系统学习 19 结构体的默认构造方法和自定义构造方法
- java基础—三(运算符&选择结构if)
- 微信小程序文档api
- CSDN日报20170301——《一次dns缓存引发的惨案》
- 细节的把控
- Notification基础详解二(自定义布局通知)
- [看图说话] 基于Spark UI性能优化与调试——初级篇