LeetCode | 110. 平衡二叉树

这篇具有很好参考价值的文章主要介绍了LeetCode | 110. 平衡二叉树。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LeetCode | 110. 平衡二叉树

OJ链接

LeetCode | 110. 平衡二叉树,LeetCode,leetcode,算法文章来源地址https://www.toymoban.com/news/detail-762434.html

  • 首先计算出二叉树的高度
  • 然后计算当前节点的左右子树的高度,然后判断当前节点的左右子树高度差是否超过 1,最后递归地检查左右子树是否也是平衡的。
//计算二叉树的高度
int height(struct TreeNode* root)
{
    if(root == NULL)
        return NULL;
    int left = height(root->left);
    int right = height(root->right);
    return left > right ? left + 1 : right + 1;
}
//判断是否是平衡二叉树
bool isBalanced(struct TreeNode* root) {
    if(root == NULL)
        return true;
    
    //分别求左右子树的高度
    int left = height(root->left);
    int right = height(root->right);

    //判断当前节点是否平衡
    if(abs(left - right) > 1)
        return false;
    //递归检查左右子树是否平衡    
    return isBalanced(root->left)
        && isBalanced(root->right);
}

到了这里,关于LeetCode | 110. 平衡二叉树的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Day17|leetcode 110.平衡二叉树、257.二叉树的所有路径、404.左叶子之和

    题目链接:110. 平衡二叉树 - 力扣(LeetCode) 视频链接:后序遍历求高度,高度判断是否平衡 | LeetCode:110.平衡二叉树_哔哩哔哩_bilibili 平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 本题就是求左右子树的高度差,如果差值=1,就是平衡

    2024年02月11日
    浏览(42)
  • 【leetcode热题】平衡二叉树

    难度: 简单 通过率: 39.9% 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树 每个节点  的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 

    2024年02月21日
    浏览(40)
  • 110. 平衡二叉树【75】

    难度等级:容易 上一篇算法: 102. 二叉树的层序遍历【206】 力扣此题地址: 110. 平衡二叉树 - 力扣(Leetcode) 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树 每个节点  的左右两个子树的高度差的绝对值不超过 1 。  

    2023年04月22日
    浏览(40)
  • 力扣 110. 平衡二叉树

    题目来源:https://leetcode.cn/problems/balanced-binary-tree/description/     C++题解1:递归法,后续遍历,从叶子节点开始,判断左右子树的深度差是否大于1。 代码随想录:思想是一致的,当为不平衡树时可以节省右子树的遍历。 C++题解2:迭代法,较为繁琐。由根节点往叶子节点需计

    2024年02月11日
    浏览(43)
  • 每日一练:LeeCode-110、平衡二叉树【二叉树】

    本文是力扣LeeCode-110、平衡二叉树 学习与理解过程,本文仅做学习之用,对本题感兴趣的小伙伴可以出门左拐LeeCode。 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度 平衡二叉树定义 为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过

    2024年01月22日
    浏览(41)
  • Java LeetCode篇-二叉树经典解法(实现:判断平衡二叉树、找两个节点最近的祖先等)

    🔥博客主页: 【 小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍     文章目录         1.0 平衡二叉树         1.1 实现判断平衡二叉树的思路         1.2 代码实现判断平衡二叉树         2.0 二叉树的层序遍历         2.1 实现二叉树层序遍历的思路          2.2

    2024年02月05日
    浏览(51)
  • LeetCode 周赛 340,质数 / 前缀和 / 极大化最小值 / 最短路 / 平衡二叉树

    本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周跟大家讲到小彭文章风格的问题,和一些朋友聊过以后,至少在算法题解方面确定了小彭的风格。虽然竞赛算法题的文章受众非常小,但却有很多像我一样的初学者,他们有

    2023年04月14日
    浏览(35)
  • day17 | 110.平衡二叉树、 257. 二叉树的所有路径、 404.左叶子之和

    目录: 题目链接: https://leetcode.cn/problems/balanced-binary-tree/ https://leetcode.cn/problems/binary-tree-paths/ 110. 平衡二叉树 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示

    2024年02月08日
    浏览(42)
  • LeetCode算法二叉树—222. 完全二叉树的节点个数

    目录 222. 完全二叉树的节点个数 - 力扣(LeetCode) 代码: 运行结果:  给你一棵  完全二叉树  的根节点  root  ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集

    2024年02月07日
    浏览(46)
  • 【算法练习】leetcode算法题合集之二叉树篇

    前序遍历,中序遍历,后序遍历是根据处理根节点的位置来命名的。 树的处理大多用到了递归,递归需要知道终止条件。 前序遍历(中左右) 144.二叉树的前序遍历 中左右,先处理根节点,再处理左子树,再处理右子树 非递归版实现前序遍历 使用栈,当前节点处理完,先塞

    2024年02月01日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包