面试题 04.02. 最小高度树
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. 最小高度树相关推荐
- Leetcode —— 面试题 04.02. 最小高度树(Python)
给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null ...
- leetcode面试题 04.02. 最小高度树(深度优先搜索)
给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. public TreeNode sortedArrayToBST(int[] nums) {if(nums ...
- 程序员面试金典 - 面试题 04.02. 最小高度树(二叉搜索树中序遍历)
1. 题目 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-1 ...
- 二叉搜索树-创建最小高度树(递归)
题意: 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树. 这里回忆一下二叉搜索树的概念: 对于树中的所有子树都有,左子树上的值都小于根节点的值,右子树上的值 ...
- 【数据结构与算法】之深入解析“最小高度树”的求解思路与算法示例
一.题目要求 树是一个无向图,其中任何两个顶点只通过一条路径连接.换句话说,一个任何没有简单环路的连通图都是一棵树. 给你一棵包含 n 个节点的树,标记为 0 到 n - 1,给定数字 n 和一个有 ...
- leetcode310. 最小高度树(bfs)
对于一个具有树特征的无向图,我们可选择任何一个节点作为根.图因此可以成为树,在所有可能的树中,具有最小高度的树被称为最小高度树.给出这样的一个图,写出一个函数找到所有的最小高度树并返回他们的根节点.格 ...
- LeetCode 310. 最小高度树(图 聪明的BFS,从外向内包围)
文章目录 1. 题目 2. 解题 2.1 暴力BFS 2.2 聪明的BFS 1. 题目 对于一个具有树特征的无向图,我们可选择任何一个节点作为根.图因此可以成为树,在所有可能的树中,具有最小高度的树被 ...
- LeetCode 310 最小高度树
题目描述 树是一个无向图,其中任何两个顶点只通过一条路径连接. 换句话说,一个任何没有简单环路的连通图都是一 棵树.给你一棵包含 n 个节点的数,标记为 0 到 n - 1 .给定数字 n 和一个有 ...
- 310. 最小高度树
链接:https://leetcode-cn.com/problems/minimum-height-trees/ 题解:https://leetcode-cn.com/problems/minimu ...
最新文章
- 多视图立体匹配论文分享 | Fast-MVSNet (CVPR2020)
- jQuery的后代遍历
- Python可视化库Matplotlib绘图入门详解
- java中的 请求体_在spring mvc test中访问请求体和请求头
- unity读取Text
- 收藏 | 深度学习图像分类任务中那些不得不看的技巧总结
- 薄板样条插值(Thin plate splines)的实现与使用
- Win7和win10下python3和python2同时安装并解决pip共存问题
- mysql8搭建innodb_cluster集群
- 马踏棋盘(骑士周游问题)
- 世界500强面试题(经典)
- 软件测试工程师转行有哪些,如何转行成为软件测试工程师?
- 在WIN10下通过网口给华为海思Hi3516DV300刷机(鸿蒙系统)
- 有必要说一说即将到来的春招(经历+重要性+如何准备)
- logo计算机编程简单指令,pc logo 基本绘图命令
- 玩游戏用什么轴的机械键盘好_机械键盘轴哪个最适合打游戏
- 从零开始学matplotlib画图(一): 极速上手
- Java EE项目中异常设计及处理总结
- CentOs解决下载速度慢 更换下载源
- 第二季5:配置视频捕获模块(step3:VI模块)
热门文章
- 1.vue简介以及模板语法---vue教程
- Nature | 基于单细胞RNA测序绘制人类肺组织分子细胞图谱,成功鉴定多种未知细胞类型...
- 一个月学会Python的Quora指南和资料放送
- pd17虚拟机启动器怎么生成?快来看看吧
- 34营销的三要素:真实诚信、诱饵引入、合理宣传
- Python将绝对路径转换为相对路径方法实例
- js获取精确宽度/高度(带小数位像素)
- Android逆向笔记-查看app的log打印(含调试方式打开)
- Spring Boot中防表单重复提交以及拦截器登录检测
- 设置webhook_webhook工具实现