【Leetcode】【Medium】Convert Sorted Array to Binary Search Tree
Given an array where elements are sorted in ascending order, convert it to a height balanced BST.
解题思路:
用一个有序数组,创建一个平衡二叉查找树。
为确保平衡,需要满足两子树的高度差不大于1,可以通过设置左子树结点数等于或者比右子树结点数多1,来实现。
那么每次取数组的中间位置后一个值,作为根结点,数组左边元素的插入左子树,数组右边元素插入右子树,依次类推。
代码:
/**
* 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* sortedArrayToBST(vector<int>& nums) {
return MakeSubtree(nums, , nums.size()-);
} TreeNode* MakeSubtree(vector<int>& nums, int start, int end) {
if (start > end)
return NULL; int mid = (start + end + ) / ;
TreeNode* root = new TreeNode(nums[mid]);
root->left = MakeSubtree(nums, start, mid-);
root->right = MakeSubtree(nums, mid+, end);
return root;
}
};
【Leetcode】【Medium】Convert Sorted Array to Binary Search Tree的更多相关文章
- 【LeetCode OJ】Convert Sorted Array to Binary Search Tree
		Problem Link: http://oj.leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ Same idea ... 
- 【leetcode】Convert Sorted Array to Binary Search Tree
		Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascending ord ... 
- LeetCode:Convert Sorted Array to Binary Search Tree,Convert Sorted List to Binary Search Tree
		LeetCode:Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in asce ... 
- LeetCode 108. 将有序数组转换为二叉搜索树(Convert Sorted Array to Binary Search Tree) 14
		108. 将有序数组转换为二叉搜索树 108. Convert Sorted Array to Binary Search Tree 题目描述 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索 ... 
- [Leetcode][JAVA] Convert Sorted Array to Binary Search Tree &&  Convert Sorted List to Binary Search Tree
		Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascending ord ... 
- 37. leetcode 108. Convert Sorted Array to Binary Search Tree
		108. Convert Sorted Array to Binary Search Tree 思路:利用一个有序数组构建一个平衡二叉排序树.直接递归构建,取中间的元素为根节点,然后分别构建左子树和右 ... 
- [LeetCode] 108. Convert Sorted Array to Binary Search Tree ☆(升序数组转换成一个平衡二叉树)
		108. Convert Sorted Array to Binary Search Tree 描述 Given an array where elements are sorted in ascen ... 
- LeetCode: Convert Sorted Array to Binary Search Tree  解题报告
		Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascending ord ... 
- LeetCode 108. Convert Sorted Array to Binary Search Tree (将有序数组转换成BST)
		108. Convert Sorted Array to Binary Search Tree Given an array where elements are sorted in ascendin ... 
- leetcode 108. Convert Sorted Array to Binary Search Tree 、109. Convert Sorted List to Binary Search Tree
		108. Convert Sorted Array to Binary Search Tree 这个题使用二分查找,主要要注意边界条件. 如果left > right,就返回NULL.每次更新的 ... 
随机推荐
- Spring boot 项目部署服务器
			Spring Boot 有两种部署到服务器的方式,这里介绍官方推荐的(jar包) 一.首先进行application.properties配置 # EMBEDDED SERVER CONFIGURAT ... 
- 透视效果shader(边缘光)
			思路:渲染两次. 1.第一次渲染:利用Greater进行深度测试,当目标被遮挡时,用一个边缘光的效果显示. 2.第二次渲染:正常渲染. 边缘光的思路:观察方向和顶点法向量夹角越大,边缘光越明显.边缘光 ... 
- CentOS6.5安装testlink1.9.14
			前提条件:准备一台CentOS6.5虚拟机,配置好IP,关闭iptables和selinux. 这里提供上我的云盘软件,可以去这里下载:http://pan.baidu.com/s/1qXymele ... 
- react渲染原理深度解析
			https://mp.weixin.qq.com/s/aM-SkTsQrgruuf5wy3xVmQ 原文件地址 [第1392期]React从渲染原理到性能优化(二)-- 更新渲染 黄琼 前端早读课 ... 
- Mac下配置maven和集成到ecclipse(Mac 10.12)
			1.到官网下载maven,http://maven.apache.org/download.cgi 下载好的tar.gz包解压出来,并重命名为maven3,拷贝到/usr/local目录下 2.配置环 ... 
- 启停无线网卡bat脚本
			@echo off color 2 title 启停无线网卡 echo 启动无线网卡=======>按1键 echo 关闭无线网卡=======>按2键 set /p n= if /i & ... 
- C++命名空间使用代码
			namesp.h #pragma once #include <string> namespace pers { using namespace std; struct Person { ... 
- heroku快速部署node应用
			试了一下heroku,简直碉堡了,下面介绍如何简单几步实现弄得应用的部署访问: 1.首先https://dashboard.heroku.com/进行账号注册 2.github上push一个最新的no ... 
- type=file的change事件只能执行一次的解决方案
			最近帮朋友做个项目中遇到了type=file change事件只能执行一次的问题,度娘了一下,发现提供了各种解决方案,所以决定记录一下我的思考方向和最终解决方式. 起初帮朋友做个项目,项目中遇到上传文 ... 
- [android] 网络链接类型和渠道
			1.实现方式 1.1使用HttpUrlConnection 1.2使用HttpClient 1.3使用Socket,比如:豌豆荚,聊天工具 2.通讯渠道 2.1 WLAN(wi-fi),100米左右的 ... 
