lintcode-把排序数组转换为高度最小的二叉搜索树-177
2015-09-10 12:26
351 查看
给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。
样例
给出数组
样例
给出数组
[1,2,3,4,5,6,7], 返回
4 / \ 2 6 / \ / \ 1 3 5 7
/** * 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: void create(TreeNode **root,vector<int> arr,int begin,int end){ if(begin>=end) return ; *root=new(TreeNode); (*root)->val=arr[begin+(end-begin)/2]; create(&(*root)->left,arr,begin,begin+(end-begin)/2); create(&(*root)->right,arr,begin+(end-begin)/2+1,end); } TreeNode *sortedArrayToBST(vector<int> &A) { if(A.empty()) return NULL; TreeNode *root; create(&root,A,0,A.size()); return root; } };
相关文章推荐
- windows 10 开启vt-x
- cocos2d-x编译Andorid报错make: * No rule to make target
- 使用ascii方式得到26个字母
- HDU 4763 字符串的前中后三段公共子串
- TFS安装配置
- eDiary 日记本软件
- 为何新疆的股权投资企业所得税是12%,个人所得税是16%
- JSON.stringify几种可能的用法总结
- IOS图片效果模糊化
- Linux文件属主显示数字
- 字符串和date之间的相互转换方法
- Syslog4j如何实现接收日志
- 工业产品生产许可证审查费用已取消
- Java实现图的遍历(深搜与广搜)
- iOS 录屏大师启动页广告
- TortoiseSVN使用详解
- Android最佳性能实践(三)——高性能编码优化
- 快速提高Android开发效率的Web工具
- vc++6.0的控制台的中文为乱码
- Android技术资料汇集