把排序数组转换为高度最小的二叉搜索树
2016-03-20 16:48
323 查看
只有不断取中位数,才能确保高度最低。
class Solution {
public:
TreeNode *sortedArrayToBST(vector<int> &A) {
TreeNode *result = buildBST(A,0,A.size()-1);
return result;
}
TreeNode *buildBST(vector<int> &A, int start, int end){
if(start > end){return NULL;}
int mid = (start + end)/2;
TreeNode *p = new TreeNode(A[mid]);
p->left = buildBST(A,start,mid-1);
p->right = buildBST(A,mid+1,end);
return p;
}
};
class Solution {
public:
TreeNode *sortedArrayToBST(vector<int> &A) {
TreeNode *result = buildBST(A,0,A.size()-1);
return result;
}
TreeNode *buildBST(vector<int> &A, int start, int end){
if(start > end){return NULL;}
int mid = (start + end)/2;
TreeNode *p = new TreeNode(A[mid]);
p->left = buildBST(A,start,mid-1);
p->right = buildBST(A,mid+1,end);
return p;
}
};
相关文章推荐
- 学习日记
- Android中View的绘制原理之measure
- HDOJ 1004 Let the Balloon Rise
- JAVA实现最简单的双向链表、队列与栈(内部使用链表形式存储)
- HDOJ 1004 Let the Balloon Rise
- 3月20日 表单
- centos 7下配置mysql+php(ThinkPHP)+nginx
- 【Yii2.0.7】 ./yii migrate 执行数据库迁移时出现2002错误的解决方法!
- Unity3D开发基础组件提取总结
- STL 单纯数据处理函数
- linux及安全第四周总结
- 极客大讲堂:手把手教你用树莓派控制红绿灯
- ListView上拉刷新下拉加载
- Android---GridView使用
- 编译时异常、运行时异常、自定义异常-Java
- 【c++】求特殊方程的正整数解
- Apache 修改端口号
- 杭电2068RPG的错排
- 【c++】求特殊方程的正整数解
- HTML图片热点,表单