2020-04-20

1.题目描述

最小高度树

2.题解

递归以及二分求解即可。
注意这里如何取出vector中某个区间内的元素。

3.代码

/*** 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) {if (nums.size()==0) return NULL;TreeNode*p=new TreeNode;// TreeNode* p=(TreeNode*)malloc(sizeof(TreeNode));int n=nums.size();if (n==1){p->left=NULL;p->right=NULL;p->val=nums[0];}else{int t=n/2;if (t-1>=0){vector<int>l(nums.begin(),nums.begin()+t);p->left=sortedArrayToBST(l);p->val=nums[t];}else{p->left=NULL;}if (t+1<=n){vector<int>r(nums.begin()+t+1,nums.end());p->right=sortedArrayToBST(r);p->val=nums[t];}else{p->right=NULL;}}return p;}
};

面试题 04.02. 最小高度树相关推荐

  1. Leetcode —— 面试题 04.02. 最小高度树(Python)

    给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null ...

  2. leetcode面试题 04.02. 最小高度树(深度优先搜索)

    给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. public TreeNode sortedArrayToBST(int[] nums) {if(nums ...

  3. 程序员面试金典 - 面试题 04.02. 最小高度树(二叉搜索树中序遍历)

    1. 题目 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-1 ...

  4. 二叉搜索树-创建最小高度树(递归)

    题意: 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. 这里回忆一下二叉搜索树的概念: 对于树中的所有子树都有,左子树上的值都小于根节点的值,右子树上的值 ...

  5. 【数据结构与算法】之深入解析“最小高度树”的求解思路与算法示例

    一.题目要求 树是一个无向图,其中任何两个顶点只通过一条路径连接.换句话说,一个任何没有简单环路的连通图都是一棵树. 给你一棵包含 n 个节点的树,标记为 0 到 n - 1,给定数字 n 和一个有 ...

  6. leetcode310. 最小高度树(bfs)

    对于一个具有树特征的无向图,我们可选择任何一个节点作为根.图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树.给出这样的一个图,写出一个函数找到所有的最小高度树并返回他们的根节点.格 ...

  7. LeetCode 310. 最小高度树(图 聪明的BFS,从外向内包围)

    文章目录 1. 题目 2. 解题 2.1 暴力BFS 2.2 聪明的BFS 1. 题目 对于一个具有树特征的无向图,我们可选择任何一个节点作为根.图因此可以成为树,在所有可能的树中,具有最小高度的树被 ...

  8. LeetCode 310 最小高度树

    题目描述 树是一个无向图,其中任何两个顶点只通过一条路径连接. 换句话说,一个任何没有简单环路的连通图都是一 棵树.给你一棵包含 n 个节点的数,标记为 0 到 n - 1 .给定数字 n 和一个有 ...

  9. 310. 最小高度树

    链接:https://leetcode-cn.com/problems/minimum-height-trees/ 题解:https://leetcode-cn.com/problems/minimu ...

最新文章

  1. 多视图立体匹配论文分享 | Fast-MVSNet (CVPR2020)
  2. jQuery的后代遍历
  3. Python可视化库Matplotlib绘图入门详解
  4. java中的 请求体_在spring mvc test中访问请求体和请求头
  5. unity读取Text
  6. 收藏 | 深度学习图像分类任务中那些不得不看的技巧总结
  7. 薄板样条插值(Thin plate splines)的实现与使用
  8. Win7和win10下python3和python2同时安装并解决pip共存问题
  9. mysql8搭建innodb_cluster集群
  10. 马踏棋盘(骑士周游问题)
  11. 世界500强面试题(经典)
  12. 软件测试工程师转行有哪些,如何转行成为软件测试工程师?
  13. 在WIN10下通过网口给华为海思Hi3516DV300刷机(鸿蒙系统)
  14. 有必要说一说即将到来的春招(经历+重要性+如何准备)
  15. logo计算机编程简单指令,pc logo 基本绘图命令
  16. 玩游戏用什么轴的机械键盘好_机械键盘轴哪个最适合打游戏
  17. 从零开始学matplotlib画图(一): 极速上手
  18. Java EE项目中异常设计及处理总结
  19. CentOs解决下载速度慢 更换下载源
  20. 第二季5:配置视频捕获模块(step3:VI模块)

热门文章

  1. 1.vue简介以及模板语法---vue教程
  2. Nature | 基于单细胞RNA测序绘制人类肺组织分子细胞图谱,成功鉴定多种未知细胞类型...
  3. 一个月学会Python的Quora指南和资料放送
  4. pd17虚拟机启动器怎么生成?快来看看吧
  5. 34营销的三要素:真实诚信、诱饵引入、合理宣传
  6. Python将绝对路径转换为相对路径方法实例
  7. js获取精确宽度/高度(带小数位像素)
  8. Android逆向笔记-查看app的log打印(含调试方式打开)
  9. Spring Boot中防表单重复提交以及拦截器登录检测
  10. 设置webhook_webhook工具实现