把排序数组转换为高度最小的二叉搜索树
来源:互联网 发布:java重载与多态 编辑:程序博客网 时间:2024/05/19 15:19
问题描述:给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。
样例
给出数组 [1,2,3,4,5,6,7]
, 返回
4 / \ 2 6 / \ / \1 3 5 7
实验代码:
class Solution {
public:
/**
* @param A: A sorted (increasing order) array
* @return: A tree node
*/
TreeNode *sortedArrayToBST(vector<int> &A) {
// write your code here
if(A.size()!=0)
sousuo(A,0,A.size()-1);
}
TreeNode *sousuo(vector<int>&A,int left,int right)
{
if(left>right) return NULL ;
int m=(left+right)/2;
TreeNode *root= new TreeNode(A[m]);
root->left=sousuo(A,left,m-1);
root->right=sousuo(A,m+1,right);
return root;
}
};
个人感想:选用二叉树的方式递归时要注意数组越界。
0 0
- LintCode SortedArrayToBST 把排序数组转换为高度最小的二叉搜索树
- 题目:把排序数组转换为高度最小的二叉搜索树
- lintcode-把排序数组转换为高度最小的二叉搜索树-177
- 把排序数组转换为高度最小的二叉搜索树(LintCode)
- LintCode:把排序数组转换为高度最小的二叉搜索树
- 把排序数组转换为高度最小的二叉搜索树
- lintCode(177)——把排序数组转换为高度最小的二叉搜索树
- 把排序数组转换为高度最小的二叉搜索树
- LintCode:把排序数组转换为高度最小的二叉搜索树
- 把排序数组转换为高度最小的二叉搜索树
- 把排序数组转换为高度最小的二叉搜索树
- lintcode,把排序数组转换为高度最小的二叉搜索树
- LintCode | 177. 把排序数组转换为高度最小的二叉搜索树
- LintCode 把排序数组转换为高度最小的二叉搜索树
- 把排序数组转换为高度最小的二叉搜索树-LintCode
- lintcode——把排序数组转换为高度最小的二叉搜索树
- 把排序数组转换为高度最小的二叉搜索树
- lintcode把排序数组转换为高度最小的二叉搜索树
- 信号---信号的阻塞
- 四、用servlet类返回WEB-INF中的页面
- 像“钢铁侠”埃隆·马斯克那样,成为超速学习者
- 变量、作用域和内存问题
- Redhat7.0下搭建邮件服务器(二)
- 把排序数组转换为高度最小的二叉搜索树
- MAC OS 运行hadoop提示util.NativeCodeLoader: Unable to load native-hadoop library for your platform的解决
- 二叉树的路径和
- JDK1.7源码笔记之LinkedList类
- [2017.4.18]IMWEB前端小白训练营日记(四)
- 李开复解读:未来人工智能的巨大商机
- slidingmenu_library侧滑实现
- MDK升级引起的类似.\Source\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(298): error: #67: exp
- 等价二叉树