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

(平衡二叉树 判断是否为AVL树 )leetcode110

平衡二叉树(avl)树意思是左右子树的最高深度相减<=0也就是abs(left - right) <=0

至于深度用index dfs的标记法来做

为什么用遍历用前序遍历?

答:因为判断左右子树,只能在具有左右子树的父结点来进行

只要有一课子树不满足条件那就不是avl树

/**
 * 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 {
bool check=true;

int bracktring(int index,TreeNode *root)
{

    if(root==nullptr)
        return index;

    int left= bracktring(index+1,root->left);
    int right=bracktring(index+1,root->right);

if (abs(left - right) > 1) {//核心代码
            check = false;
        }
   return max(left,right);
}

public:
    bool isBalanced(TreeNode* root) {
        int index=1;
        bracktring(index,root);
        return check;
    }
};

相关文章:

  • Python 模块与包:从零到自定义的全面指南
  • 第五章 activiti流程 “权限与部署指挥部”
  • Zotero外接通义千问 API进行翻译
  • 跟着源码实现LevelDB(二)util/status.cc
  • 独立开发增长黑客教程
  • 让deepseek更专业的提示词教程
  • CSS Selectors
  • Canvas修仙传·第三重天金丹境(上集) ——九转游戏开发心法之《灵蛇奇谭》
  • Netty是怎么实现Java NIO多路复用的?(源码)
  • 【愚公系列】《Python网络爬虫从入门到精通》037-文件的存取
  • 微软具身智能感知交互多面手!Magma:基于基础模型的多模态AI智能体
  • 初识SQL
  • 在 macOS 使用 .pem 私钥免密登录腾讯云服务器
  • java高级(IO流多线程)
  • 【愚公系列】《Python网络爬虫从入门到精通》036-DataFrame日期数据处理
  • GPT-4.5实际性能评测:实际探索
  • 3475相或为k
  • 1-PostgreSQL 简介
  • huggingface下载模型到本地缓存环境变量配置详解
  • 《每天读一个JDK源码》之HashMap解读
  • wordpress如何弄添加框/网站百度关键词优化
  • 武汉网站建设www.com/百度推广创意范例
  • 政府部门网站建设方案/电商网站运营
  • 简述网站建设优劣的评价标准/杭州seo建站
  • js做网站需要那些软件/百度首页广告多少钱
  • 广州网站建设推广方法/友情链接是免费的吗