一、     称号

排序后的数组成二叉搜索树。

二、     分析

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相关推荐

  1. leetcode 5. Longest Palindromic Substring 字符串中的最长回文数 逐步从O(n^2)优化至线性时间

    题目 解析 思路一 暴力解法 思路二 指针+最大长度 思路3 由中间至两边找回数 思路4 Manacher's algorithm 线性时间 参考文档 题目 链接 给定一个字符串 s,找到 s 中最长 ...

  2. LeetCode 10. Regular Expression Matching python特性、动态规划、递归

    前言 本文主要提供三种不同的解法,分别是利用python的特性.动态规划.递归方法解决这个问题 使用python正则属性 import reclass Solution2:# @return a bo ...

  3. leetcode Longest Substring with At Most Two Distinct Characters 滑动窗口法

    题目解析 代码如下 题目解析 这一题是一道会员的题目,题目介绍如下: Given a string, find the length of the longest substring T that c ...

  4. leetcode 3. Longest Substring Without Repeating Characters 最长非重复子串的长度 滑动窗口法

    题目链接 根据我们之前介绍的滑动窗口法的解法: 滑动窗口法详解 leetcode 438. Find All Anagrams in a String 滑动窗口法 这题,我们不难解决,使用之前的模板. ...

  5. leetcode:2680 Remove Duplicates from Sorted Array 删除数组中的重复元素

    leetcode:26 对数组元素进行去重,使得原数组重复元素最多保留1个 限制: 我们不可以额外分配数组,必须保持空间复杂度为O(1) 这个并不难实现: class Solution(object) ...

  6. LeetCode简单题之二进制表示中质数个计算置位

    题目 给你两个整数 left 和 right ,在闭区间 [left, right] 范围内,统计并返回 计算置位位数为质数 的整数个数. 计算置位位数 就是二进制表示中 1 的个数. 例如, 21 ...

  7. LeetCode简单题之删除字符使字符串变好

    题目 一个字符串如果没有 三个连续 相同字符,那么它就是一个 好字符串 . 给你一个字符串 s ,请你从 s 删除 最少 的字符,使它变成一个 好字符串 . 请你返回删除后的字符串.题目数据保证答案总 ...

  8. LeetCode简单题之找出两数组的不同

    题目 给你两个下标从 0 开始的整数数组 nums1 和 nums2 ,请你返回一个长度为 2 的列表 answer ,其中: answer[0] 是 nums1 中所有 不 存在于 nums2 中的 ...

  9. LeetCode中等题之区域和检索 - 数组可修改

    题目 给你一个数组 nums ,请你完成两类查询. 其中一类查询要求 更新 数组 nums 下标对应的值 另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nu ...

最新文章

  1. 跳过51单片机,直接学STM32有什么严重后果?
  2. 倍福ads通讯软件_软件定义汽车“性感”吗?东软睿驰有自己的答案
  3. LeetCode刷题指南(一)
  4. BZOJ4860 Beijing2017树的难题(点分治+单调队列)
  5. Fedora CentOS Red Hat中让vim支持语法高亮设置
  6. 马丁 福勒 Martin Fowler 关于依赖注入和反转控制的区别
  7. 结合 category 工作原理分析 OC2.0 中的 runtime
  8. VS2008SP1中jQuery Intellisense补丁KB958502安装失败的解决办法
  9. java ut_【JAVA UT】2、写UT的科学步骤
  10. 国内考勤管理系统做的比较好的几款软件?
  11. 关于RHCE考证的那些事
  12. 菜鸟-需求预测与分仓规划
  13. 简述新图像文件格式——SVG
  14. 关于win10装不上dnw驱动的问题
  15. 基于C语言的网络电子词典
  16. 腾讯邮件服务器备份,怎样使用邮件备份功能?
  17. 量化投资工具-AKShare是如何进行投资交易的?
  18. 生产者消费者模式Java实现
  19. Note for iSON
  20. 0091-【Python系统】-Python 资源大全中文版

热门文章

  1. Git学习笔记与IntelliJ IDEA整合
  2. 用rz,sz命令在xshell传输文件
  3. [导入]服务器终极安全设置与优化指南
  4. 为什么将表格的method改为post后就无法工作_不用再等后端的接口啦!这个开源项目花 2 分钟就能模拟出后端接口...
  5. ei拼音的四个声调对应的字_非常容易混淆的汉语拼音“er”,究竟特殊在哪里?孩子总是搞不懂...
  6. (6)Vivado软件开发流程(第2天)
  7. (84)FPGA显示激励(display)
  8. (26)计数器verilog与VHDL编码(学无止境)
  9. python闭包函数的必要条件_Python 函数 functions、闭包 closure
  10. 24.QTreeWidget的用法