Leetcode:convert_sorted_array_to_binary_search_tree
一、 称号
排序后的数组成二叉搜索树。
二、 分析
BST的中序遍历是一个sorted-array,再构造回去成一个BST,先将中间的元素作为根节点,这个节点的左右各自是左子树和右子树。如此递归地进行就可以。
/*** Definition for binary tree* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public: TreeNode *sortedArrayToBST(vector<int> &num) {return addNode(num, 0, num.size()-1);}TreeNode *addNode(vector<int> &num, int start, int end){if(start > end) return NULL;int mid = (start + end)/2;TreeNode *root = new TreeNode(num[mid]);root->left = addNode(num, start, mid-1);root->right = addNode(num, mid+1, end);return root;}
};
版权声明:本文博主原创文章。博客,未经同意不得转载。
转载于:https://www.cnblogs.com/mengfanrong/p/4887637.html
Leetcode:convert_sorted_array_to_binary_search_tree相关推荐
- leetcode 5. Longest Palindromic Substring 字符串中的最长回文数 逐步从O(n^2)优化至线性时间
题目 解析 思路一 暴力解法 思路二 指针+最大长度 思路3 由中间至两边找回数 思路4 Manacher's algorithm 线性时间 参考文档 题目 链接 给定一个字符串 s,找到 s 中最长 ...
- LeetCode 10. Regular Expression Matching python特性、动态规划、递归
前言 本文主要提供三种不同的解法,分别是利用python的特性.动态规划.递归方法解决这个问题 使用python正则属性 import reclass Solution2:# @return a bo ...
- leetcode Longest Substring with At Most Two Distinct Characters 滑动窗口法
题目解析 代码如下 题目解析 这一题是一道会员的题目,题目介绍如下: Given a string, find the length of the longest substring T that c ...
- leetcode 3. Longest Substring Without Repeating Characters 最长非重复子串的长度 滑动窗口法
题目链接 根据我们之前介绍的滑动窗口法的解法: 滑动窗口法详解 leetcode 438. Find All Anagrams in a String 滑动窗口法 这题,我们不难解决,使用之前的模板. ...
- leetcode:2680 Remove Duplicates from Sorted Array 删除数组中的重复元素
leetcode:26 对数组元素进行去重,使得原数组重复元素最多保留1个 限制: 我们不可以额外分配数组,必须保持空间复杂度为O(1) 这个并不难实现: class Solution(object) ...
- LeetCode简单题之二进制表示中质数个计算置位
题目 给你两个整数 left 和 right ,在闭区间 [left, right] 范围内,统计并返回 计算置位位数为质数 的整数个数. 计算置位位数 就是二进制表示中 1 的个数. 例如, 21 ...
- LeetCode简单题之删除字符使字符串变好
题目 一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 . 给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 . 请你返回删除后的字符串.题目数据保证答案总 ...
- LeetCode简单题之找出两数组的不同
题目 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中: answer[0] 是 nums1 中所有 不 存在于 nums2 中的 ...
- LeetCode中等题之区域和检索 - 数组可修改
题目 给你一个数组 nums ,请你完成两类查询. 其中一类查询要求 更新 数组 nums 下标对应的值 另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nu ...
最新文章
- 跳过51单片机,直接学STM32有什么严重后果?
- 倍福ads通讯软件_软件定义汽车“性感”吗?东软睿驰有自己的答案
- LeetCode刷题指南(一)
- BZOJ4860 Beijing2017树的难题(点分治+单调队列)
- Fedora CentOS Red Hat中让vim支持语法高亮设置
- 马丁 福勒 Martin Fowler 关于依赖注入和反转控制的区别
- 结合 category 工作原理分析 OC2.0 中的 runtime
- VS2008SP1中jQuery Intellisense补丁KB958502安装失败的解决办法
- java ut_【JAVA UT】2、写UT的科学步骤
- 国内考勤管理系统做的比较好的几款软件?
- 关于RHCE考证的那些事
- 菜鸟-需求预测与分仓规划
- 简述新图像文件格式——SVG
- 关于win10装不上dnw驱动的问题
- 基于C语言的网络电子词典
- 腾讯邮件服务器备份,怎样使用邮件备份功能?
- 量化投资工具-AKShare是如何进行投资交易的?
- 生产者消费者模式Java实现
- Note for iSON
- 0091-【Python系统】-Python 资源大全中文版
热门文章
- Git学习笔记与IntelliJ IDEA整合
- 用rz,sz命令在xshell传输文件
- [导入]服务器终极安全设置与优化指南
- 为什么将表格的method改为post后就无法工作_不用再等后端的接口啦!这个开源项目花 2 分钟就能模拟出后端接口...
- ei拼音的四个声调对应的字_非常容易混淆的汉语拼音“er”,究竟特殊在哪里?孩子总是搞不懂...
- (6)Vivado软件开发流程(第2天)
- (84)FPGA显示激励(display)
- (26)计数器verilog与VHDL编码(学无止境)
- python闭包函数的必要条件_Python 函数 functions、闭包 closure
- 24.QTreeWidget的用法