LintCode 把排序数组转换为高度最小的二叉搜索树
来源:互联网 发布:数据统计与分析专业 编辑:程序博客网 时间:2024/05/22 00:32
题目描述:
给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。
注意事项
There may exist multiple valid solutions, return any of them.
您在真实的面试中是否遇到过这个题? Yes
样例
给出数组 [1,2,3,4,5,6,7], 返回
4
/ \
2 6
/ \ / \
1 3 5 7
ac代码:
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */class Solution {public: /** * @param A: A sorted (increasing order) array * @return: A tree node */ TreeNode *dfs(vector<int> A,int l,int r) { if(l>r) return NULL; int mid=(r+l)/2; TreeNode *root=new TreeNode(A[mid]); root->left=dfs(A,l,mid-1); root->right=dfs(A,mid+1,r); return root; } TreeNode *sortedArrayToBST(vector<int> &A) { // write your code here if(A.size()==0) return NULL; int r,l,mid; l=0,r=A.size()-1; mid=(r+l)/2; TreeNode *root=new TreeNode(A[mid]); root->left=dfs(A,l,mid-1); root->right=dfs(A,mid+1,r); return root; }};
0 0
- LintCode SortedArrayToBST 把排序数组转换为高度最小的二叉搜索树
- lintcode-把排序数组转换为高度最小的二叉搜索树-177
- 把排序数组转换为高度最小的二叉搜索树(LintCode)
- LintCode:把排序数组转换为高度最小的二叉搜索树
- lintCode(177)——把排序数组转换为高度最小的二叉搜索树
- LintCode:把排序数组转换为高度最小的二叉搜索树
- lintcode,把排序数组转换为高度最小的二叉搜索树
- LintCode | 177. 把排序数组转换为高度最小的二叉搜索树
- LintCode 把排序数组转换为高度最小的二叉搜索树
- 把排序数组转换为高度最小的二叉搜索树-LintCode
- lintcode——把排序数组转换为高度最小的二叉搜索树
- lintcode把排序数组转换为高度最小的二叉搜索树
- LintCode-把排序数组转换为高度最小的二叉搜索树
- lintcode 把排序数组转换为高度最小的二叉搜索树
- LintCode 把排序数组转换为高度最小的二叉搜索树
- LintCode 177-把排序数组转换为高度最小的二叉搜索树
- 把排序数组转换为高度最小的二叉搜索树-LintCode
- [LintCode 177] 把排序数组转换为高度最小的二叉搜索树(Python)
- LINUX(redhat 7.0)管理系统日志
- [meet in middle 矩阵树定理 容斥原理] SRM 551 div1 SweetFruits
- L1-032. Left-pad java
- 递归递推 E
- IntelliJ Idea 常用快捷键列表
- LintCode 把排序数组转换为高度最小的二叉搜索树
- 用户登录记住密码
- ZUNIONSTORE
- FZU2092-收集水晶
- LintCode 子树
- javascript继承
- Android GPS定位(获取经纬度)
- java多线程:17、面试题1
- python2 与Python 3 的区别(持续更新...)