题目

  • 给定一个有序整数数组,元素各不相同且按升序排列,编写一个算法,创建一棵高度最小的二叉搜索树。

示例:

给定有序数组: [-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二叉搜索树:0 / \ -3   9 /   / -10  5

代码

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode(int x) { val = x; }* }*/
class Solution {public TreeNode sortedArrayToBST(int[] nums) {TreeNode root = helper(nums, 0, nums.length - 1);return root;}public TreeNode helper(int[] nums,int left,int right){if(left>right){return null;}int mid = (left + right) / 2;TreeNode root = new TreeNode(nums[mid]);root.left = helper(nums, left, mid - 1);root.right = helper(nums, mid + 1, right);return root;}
}

结果

用时 内存
击败100.00% 击败86.41%

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/minimum-height-tree-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

【LeetCode击败99%+】最小高度树相关推荐

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

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

  2. LeetCode 310 最小高度树

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

  3. LeetCode 310. 最小高度树(广度优先遍历)

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

  4. 【LeetCode击败99%+】Nim 游戏

    题目 你和你的朋友,两个人一起玩 Nim 游戏: 桌子上有一堆石头. 你们轮流进行自己的回合,你作为先手. 每一回合,轮到的人拿掉 1 - 3 块石头. 拿掉最后一块石头的人就是获胜者. 假设你们每一 ...

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

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

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

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

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

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

  8. 面试题 04.02. 最小高度树

    2020-04-20 1.题目描述 最小高度树 2.题解 递归以及二分求解即可. 注意这里如何取出vector中某个区间内的元素. 3.代码 /*** Definition for a binary ...

  9. 310. 最小高度树

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

  10. JavaC++题解与拓展——leetcode310.最小高度树【复习链式前向星】

    每日一题做题记录,参考官方和三叶的题解 目录 题目要求 思路一:动态规划 Java 链式前向星 C++ 思路二:拓扑排序+BFS Java C++ 总结 题目要求 思路一:动态规划 遍历整个图,当前遍 ...

最新文章

  1. 分数序数之和c语言,用c语言求解:有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求这个数列的前20项之和....
  2. flink 4-输出
  3. 开发中常见的十种对缓存的错误使用
  4. php str_replace 字符串替换
  5. android学习笔记:数据库存储
  6. 架构运维篇(二):Centos7/Linux安装部署Tomcat环境
  7. PAT之STL:vector、set、map、stack、queue
  8. Listary 6 插件开发教程:使用 Javascript 开发
  9. 天刀服务器未响应,天涯明月刀卡顿怎么办 教你如何优化游戏不在卡顿
  10. linux不能显示微软雅黑字体
  11. “我是技术总监,我确实答不出那么多技术细节”
  12. 01-探寻 JavaScript 反爬虫的根本原因
  13. [Jetson TX2] NVIDIA Jetson TX2 参数介绍
  14. 小米云服务器怎么管理员密码,小米路由器初始密码是什么 小米路由器管理密码是多少-192路由网...
  15. 一加5应用未安装怎么解决_如何解决一加手机x安装不了软件下载的问题?
  16. 中文编程发展与兴起的重要意义
  17. Python智能机械助理
  18. HBase 数据库检索性能优化策略
  19. STM32添加以太网连接
  20. 域名系统(DNS)反向查询

热门文章

  1. MaskedTextBox总结
  2. 生成mbn以及ap测编译mbn
  3. IAR 8051 嵌入式开发概述
  4. MYSQL数据库使用操作详解
  5. 泰坦尼克号生还者预测机器学习二分类算法+LSTM+GRU ()
  6. 将英文时间转换为数字时间
  7. FFmpeg 从零开始开发简单的音视频播放器(四)
  8. VGA , QVGA ,CIF, QCIF
  9. mysql附录建表_用CREATE TABLE 语句创建数据表
  10. Linux基础命令(小白教程,宝妈式教程,有手就会)第一期