108. Convert Sorted Array to Binary Search Tree
2016-04-20 12:51
288 查看
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
【思路】中间节点作为根节点,左边序列的中间节点作为左子树的根节点,右边序列的中间节点作为右子树的根节点。
【思路】中间节点作为根节点,左边序列的中间节点作为左子树的根节点,右边序列的中间节点作为右子树的根节点。
/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: TreeNode* dfs(vector<int>& nums, int first, int last){ if(first <= last) { int mid = first +(last -first ) / 2; TreeNode* root = new TreeNode(nums[mid]); root->left = dfs(nums, first, mid-1); root->right = dfs(nums,mid+1, last); return root; } else return NULL; } TreeNode* sortedArrayToBST(vector<int>& nums) { if(nums.size()==0) return NULL; TreeNode* root = dfs(nums, 0, nums.size()-1); return root; } };
相关文章推荐
- 持续集成(二)环境搭建篇—内网邮件server搭建
- Oracle 删除重复的记录,只保留一条
- 势篇
- 用java实现随机输出1个[e, f)的数字
- 用 git 下载 uboot 源码
- 36. Valid Sudoku
- 正则验证匹配中文姓名全部源字符串
- 使用VMware 安装Linux CentOS7
- 20160420-序列比对前的准备工作
- Timus 1291 Gear-wheels
- 对下一步方向的迷失
- Zabbix Agent 源码编译安装
- DrawerLayout的侧拉范围方法,
- zabbix弱口令批量检测
- jQuery基础
- LVS DR模式问题
- API json多层数据实体类封装(利用泛型技术)
- FFmpeg:'UINT64_C' was not declared in ths scope
- 阿里云oss存储(js端签名直传)
- PreferenceActivity的使用