Leetcode 之Convert Sorted Array to Binary Search Tree(54)
2016-06-17 16:04
423 查看
思路很简单,用二分法,每次选中间的点作为根结点,用左、右结点递归。
View Code
TreeNode* sortedArrayToBST(vector<int> &num) { return sortedArrayToBST(num.begin(), num.end()); } template<typename RandomAccessIterator> TreeNode* sortedArrayToBST(RandomAccessIterator first, RandomAccessIterator last) { const auto length = distance(first, last); if (length <= 0)return nullptr; auto mid = first + length / 2; TreeNode *root = new TreeNode(*mid); root->left = sortedArrayToBST(first, mid); root->right = sortedArrayToBST(mid, last); return root; }
View Code
相关文章推荐
- 简单工厂模式C++代码示例---《大话设计模式》笔记
- erlang_mysql_driver 源码分析3
- 缓冲区溢出攻击
- Android-View的绘制流程【占坑中】
- js报错 :TypeError: yanzhengma is not a function
- android 获取手机设备相关信息
- 第三十九讲 项目3 求出100万以内的n,9*n刚好是它的反序数。
- ireport制作小技巧<Reproduce>
- rails中两种回滚-reversible和revert区别
- UGUI研究院之LayoutGroup布局
- Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: internal server
- setBackgrounResource内部做了神马?!
- hdu 5455 Fang Fang 2015 ACM/ICPC Asia Regional Shenyang Online
- Java中主线程如何捕获子线程抛出的异常
- rpm方式安装jdk后,路径查找
- 标日初上-第9課
- 记录达人的现场 720°迷你OKAA VR全景相机发布
- Python文件操作
- muduo中用到的boost库
- free modbus 源码阅读笔记之中断