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

快速建站费用外贸网站和企业网站

快速建站费用,外贸网站和企业网站,装修风格效果图小户型,搜索引擎营销的简称目录 一、问题描述 二、解题思路 三、代码 四、复杂度分析 一、问题描述 给定一个二叉树,判断它是否是 平衡二叉树 二、解题思路 ✅ 平衡二叉树的定义 一棵二叉树是平衡的,满足以下两个条件: 左子树是平衡二叉树; 右子树…

目录

一、问题描述

二、解题思路

三、代码

四、复杂度分析


一、问题描述

给定一个二叉树,判断它是否是 平衡二叉树  

二、解题思路

✅ 平衡二叉树的定义

一棵二叉树是平衡的,满足以下两个条件:

  1. 左子树是平衡二叉树;

  2. 右子树是平衡二叉树;

  3. 左右子树的高度差的绝对值不超过 1。

🔍 解释一下思路

这个算法的核心是:

  • 用一个辅助函数 checkHeight 来同时判断是否平衡 + 计算高度。

  • 如果某个节点的左右子树高度差超过 1,就立即返回 -1,不再继续递归(剪枝优化)。

  • 如果整棵树都能走完而没有遇到 -1,说明是平衡树。

三、代码

/*** 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 isBalanced(TreeNode* root) {return checkHeight(root) != -1; // 如果返回 -1,说明某处不平衡}private:// 返回以 root 为根的子树高度,如果发现不平衡,返回 -1int checkHeight(TreeNode* root) {if (!root) return 0; // 空树高度为 0int leftHeight = checkHeight(root->left);   // 左子树高度if (leftHeight == -1) return -1;            // 左子树不平衡,直接返回int rightHeight = checkHeight(root->right); // 右子树高度if (rightHeight == -1) return -1;           // 右子树不平衡,直接返回// 如果当前节点不平衡if (abs(leftHeight - rightHeight) > 1) return -1;// 返回当前子树的高度return max(leftHeight, rightHeight) + 1;}
};

四、复杂度分析

🕐 时间复杂度

  • 每个节点只会访问一次,所以时间复杂度是 O(n),其中 n 是节点个数。

🧠 空间复杂度

  • 递归调用的栈深度取决于树的高度,最坏情况是 O(n),最优是 O(log n)(树完全平衡)。

http://www.dtcms.com/wzjs/606467.html

相关文章:

  • 中国林业建设工程网站微信对接网站
  • 织梦可以做家教网站吗模板免费网站建设
  • 阜蒙县建设小学校官方网站网站优化哪家专业
  • 苏州建筑行业网站建设seo网站设计哪里好
  • 网站开发和软件开发区别网址管理系统
  • 建设公司网站要注意什么企业门户网站建设的必要性
  • 钓鱼网站教程drupal 网站实例
  • 怎么建设网站运城中国建设银行网站首页下载
  • 网页与网站设计什么是抖动网站的制作与调试
  • 云阳网站制作网站运营需要++做哪些工作
  • 制作微信网站wordpress引入php
  • 做设计哪个网站可以接单oss如何做网站
  • 做网站找什么公司工作做影视网站会侵权犯法吗
  • 网站售后如何建立公司网站链接
  • div网站模板白杨seo
  • 北京简约网站建设公司保定网站建设咨询
  • 百度有没有做游戏下载网站吗网站备案平台
  • 北京怎样建设公司网站wordpress 评论换行
  • jsp网站开发 pdf网站开发的主要工作步骤
  • 网站可以做系统还原吗做招投标网站
  • 设计网站都有什么作用是什么遵义网页制作招聘
  • 网站换域名营销型的网站域名
  • iis7.5 网站打不开上海建筑建材业门户网站
  • 上海网站建设浦东厦门淘宝运营培训
  • 个人网站备注模板南通市网站建设
  • 流量对于网站盈利wordpress sns
  • 管理系统网站模板下载丰台网站建设公司电话
  • 沧州省建设厅网站网站开发什么语言比较快
  • 网站维护细则在线免费网站模板
  • 在电脑上建设网站做网站公司怎样