[leetcode] 108. Convert Sorted Array to Binary Search Tree 解题报告
2016-01-11 10:56
477 查看
题目链接:https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
思路:前面有一题将有序链表转换为平衡二叉搜索树的,思路都一样,递归的二分数组,取数组中间的一个数为根,左边的为左子树,右边的为右子树。
今天去看了一场昆汀的电影,叫什么来着《The Hateful Eight》没有字幕,看着好蛋疼啊,睡了前半段,到最后也没搞明白这电影讲的啥,只记得各种爆头
代码如下:
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
思路:前面有一题将有序链表转换为平衡二叉搜索树的,思路都一样,递归的二分数组,取数组中间的一个数为根,左边的为左子树,右边的为右子树。
今天去看了一场昆汀的电影,叫什么来着《The Hateful Eight》没有字幕,看着好蛋疼啊,睡了前半段,到最后也没搞明白这电影讲的啥,只记得各种爆头
代码如下:
/** * 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* convert(vector<int>& nums, int start, int end) { if(start > end) return NULL; int mid = (start+end+1)/2; TreeNode* root = new TreeNode(nums[mid]); root->left = convert(nums, start, mid-1); root->right = convert(nums, mid+1,end); return root; } TreeNode* sortedArrayToBST(vector<int>& nums) { int len = nums.size(); if(len == 0) return NULL; return convert(nums, 0, len-1); } };
相关文章推荐
- Spring Cache
- Git远程操作详解
- Java ClassLoader机制
- 2016技术前瞻:看看哪些新技术要迎来发展年
- 安装 Ubuntu 14.04 之后要做的一些事
- 线性回归和批量梯度下降法python
- caffe 教程 Fine-tuning CaffeNet for Style Recognition on “Flickr Style” Data 遇到的问题及解决方案
- 我的数学建模获奖经验分享
- SQL Server时间粒度系列----第4节季、年时间粒度详解
- ASP.NET(c#)——如何重新生成designer.cs文件
- Java之Pcap文件解析(一:Pcap格式分析)
- 1.5.1 INTRODUCING FORMSDICT(介绍表格字典)
- 怪异模式的影响
- 让易度文档来跟您谈谈关于文档管理系统实施
- Android 自定义Dialog二次打开报错问题解决
- 博客没内容可写了怎么办?找BD!
- 计算字符串长度
- 创建一个新的字符串
- apache-common pool的使用
- 闪回表