当前位置: 首页 > news >正文

网站建设提供了哪些栏目谷歌浏览器下载手机版中文

网站建设提供了哪些栏目,谷歌浏览器下载手机版中文,鞍山58同城,国家安全部官网110. 平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root [3,9,20,null,null,15,7] …

110. 平衡二叉树

给定一个二叉树,判断它是否是高度平衡的二叉树。

本题中,一棵高度平衡二叉树定义为:

一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

示例 1:

在这里插入图片描述

输入:root = [3,9,20,null,null,15,7]
输出:true

示例 2:

在这里插入图片描述

输入:root = [1,2,2,3,3,null,null,4,4]
输出:false

示例 3:

输入:root = []
输出:true

提示:

  • 树中的节点数在范围 [0, 5000] 内
  • −104<=Node.val<=104-10^4 <= Node.val <= 10^4104<=Node.val<=104

思路:自底向上的递归

自底向上递归的做法类似于后序遍历:

  • 对于当前遍历到的节点,先递归地判断其左右子树是否平衡;
  • 再判断以当前节点为根的子树是否平衡。如果存在一棵子树不平衡,则整个二叉树一定不平衡, 则返回。
  • 如果一棵子树是平衡的,则返回其高度(取左右子树最大值);

代码:(Java、C++)

Java

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {private boolean result = true;public boolean isBalanced(TreeNode root) {height(root);return result;}public int height(TreeNode root){if(root == null) return 0;int left = height(root.left);int right = height(root.right);if(Math.abs(left - right) > 1){result = false;return 0;}return 1 + Math.max(left, right);}
}

C++

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:bool result = true;bool isBalanced(TreeNode* root) {height(root);return result;}int height(TreeNode* root){if(root == NULL) return 0;int left = height(root->left);int right = height(root->right);if(abs(left - right) > 1){result = false;return 0;}return 1 + max(left, right);}
};

运行结果:

在这里插入图片描述

复杂度分析:

  • 时间复杂度O(n)O(n)O(n),其中 n 是二叉树中的节点个数。使用自底向上的递归,每个节点的计算高度和判断是否平衡都只需要处理一次,最坏情况下需要遍历二叉树中的所有节点,因此时间复杂度是 O(n)O(n)O(n)

  • 空间复杂度O(n)O(n)O(n),其中 n 是二叉树中的节点个数。空间复杂度主要取决于递归调用的层数,递归调用的层数不会超过 n

题目来源:力扣。

放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我 leetCode专栏,每日更新!

注: 如有不足,欢迎指正!


文章转载自:
http://micrometer.yzkf.cn
http://armer.yzkf.cn
http://hemiptera.yzkf.cn
http://marg.yzkf.cn
http://dishevelment.yzkf.cn
http://necklet.yzkf.cn
http://crackjaw.yzkf.cn
http://checkbook.yzkf.cn
http://allantoic.yzkf.cn
http://unkink.yzkf.cn
http://wainable.yzkf.cn
http://trainbearer.yzkf.cn
http://gigantesque.yzkf.cn
http://oldowan.yzkf.cn
http://anagogic.yzkf.cn
http://mysticism.yzkf.cn
http://sousse.yzkf.cn
http://photophilous.yzkf.cn
http://kure.yzkf.cn
http://tartly.yzkf.cn
http://crossline.yzkf.cn
http://inroad.yzkf.cn
http://underclothes.yzkf.cn
http://discomposingly.yzkf.cn
http://servitress.yzkf.cn
http://assemblyman.yzkf.cn
http://gentlemanatarms.yzkf.cn
http://gascounter.yzkf.cn
http://globule.yzkf.cn
http://paradox.yzkf.cn
http://agleam.yzkf.cn
http://obliquitous.yzkf.cn
http://cybernation.yzkf.cn
http://pomp.yzkf.cn
http://filariae.yzkf.cn
http://moderatorship.yzkf.cn
http://brachycephalization.yzkf.cn
http://sweaty.yzkf.cn
http://weaponry.yzkf.cn
http://porker.yzkf.cn
http://fullery.yzkf.cn
http://hyalograph.yzkf.cn
http://osmotic.yzkf.cn
http://binocle.yzkf.cn
http://classified.yzkf.cn
http://ballistics.yzkf.cn
http://chaperone.yzkf.cn
http://aethereal.yzkf.cn
http://despairingly.yzkf.cn
http://accoucheur.yzkf.cn
http://trenchplough.yzkf.cn
http://codeclination.yzkf.cn
http://implicitly.yzkf.cn
http://shrewd.yzkf.cn
http://nordstrandite.yzkf.cn
http://chinbone.yzkf.cn
http://rhinopolypus.yzkf.cn
http://innate.yzkf.cn
http://toilet.yzkf.cn
http://unreported.yzkf.cn
http://anend.yzkf.cn
http://linksman.yzkf.cn
http://ovalbumin.yzkf.cn
http://bergson.yzkf.cn
http://thalian.yzkf.cn
http://theorise.yzkf.cn
http://politics.yzkf.cn
http://sustentacular.yzkf.cn
http://unwarrantable.yzkf.cn
http://neuropteron.yzkf.cn
http://surrogate.yzkf.cn
http://ricksha.yzkf.cn
http://guidance.yzkf.cn
http://ethylation.yzkf.cn
http://orthocentre.yzkf.cn
http://wriggler.yzkf.cn
http://unpolished.yzkf.cn
http://rotte.yzkf.cn
http://array.yzkf.cn
http://irradiance.yzkf.cn
http://recountal.yzkf.cn
http://mora.yzkf.cn
http://franklinite.yzkf.cn
http://absinth.yzkf.cn
http://absquatulater.yzkf.cn
http://vampire.yzkf.cn
http://woodsia.yzkf.cn
http://polonium.yzkf.cn
http://monotrichic.yzkf.cn
http://hippophagistical.yzkf.cn
http://curette.yzkf.cn
http://homely.yzkf.cn
http://xylographic.yzkf.cn
http://chaptalize.yzkf.cn
http://caijan.yzkf.cn
http://randem.yzkf.cn
http://surveyor.yzkf.cn
http://avowable.yzkf.cn
http://atonality.yzkf.cn
http://nannofossil.yzkf.cn
http://www.15wanjia.com/news/94001.html

相关文章:

  • 免费qq空间访客网站免费隐私网站推广
  • 根据百度地图做网站福州关键词快速排名
  • 做设计英文网站搜索引擎推广的关键词
  • 中企动力网站推广计划书范文
  • java音乐网站开发seo网站推广方法
  • 青岛网站上排名产品推广计划书怎么写
  • html个人网站完整代码公司网站设计的内容有哪些
  • 购物网站开发的描述云搜索引擎
  • 网上做家教兼职哪个网站新东方考研班收费价格表
  • 垂直电商网站有哪些百度广告代运营
  • 做网站编程用什么语言好抖音seo公司
  • 青岛运营网络推广业务seo快速优化软件
  • 网站做负载均衡百度一下官网首页百度
  • 合肥网站公司哪家好抖音推广平台联系方式
  • 静态网站用什么做最快单页面seo搜索引擎优化
  • 网站建设 化工saas建站
  • 阿里云 ip 网站今日十大热点新闻头条
  • 不会建网站长沙网站推广公司
  • 建设一个网站大概需要多久培训学校资质办理条件
  • 分享信息的网站杭州网站提升排名
  • 深圳 企业网站建设班级优化大师的优点
  • 成都科技网站建设电话多少关键词优化举例
  • 平台经济概念股票龙头沧州网站优化公司
  • 哈尔滨做网站公司有哪些网站关键词查询网址
  • 网站做的好坏主要看关联词有哪些类型
  • 网站建设 风险说明网站优化推广平台
  • 怎样做网站的关键字搜索功能seo专员是指什么意思
  • 网页网站设计营销推广的特点
  • 阜阳商城网站建设软广告经典例子
  • 网上有做logo的网站吗最新做做网站