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

平衡二叉树解题思路

题目:

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

示例 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

思路:

判断二叉树的每个结点左右子树深度差是否大于一,如果是则返回-1;(getDepth函数)

代码:

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     struct TreeNode *left;*     struct TreeNode *right;* };*/
//  计算左右子树深度差值
int diffdepth(int l_depth,int r_depth){return l_depth > r_depth ? l_depth -r_depth : r_depth - l_depth;
}// 计算每个结点左右子树深度并判断差值是否大于1
int getDepth(struct TreeNode* root) {if(root == NULL){return 0;}int l_depth = getDepth(root -> left);int r_depth = getDepth(root -> right);// 当差值大与1,函数递归返回-1;if (l_depth == -1 || r_depth == -1 || diffdepth(l_depth,r_depth) > 1) {return -1;}if(l_depth >= r_depth){return l_depth + 1;}else{return r_depth + 1;}}

总结:

通过求二叉树的最大深度得到每个结点的左右子树深度,再求差值是否大于一;

http://www.dtcms.com/a/561947.html

相关文章:

  • 电子商务网站应该如何建设四川教育公共信息服务平台
  • 响应式官方网站便宜自适应网站建设厂家
  • 实例016 百元买百鸡问题
  • 硬件-射频学习DAY3——高频电流的“恐深症”:趋肤效应解密
  • Hudi安装部署
  • 宠物之家网站开发九江网站建设优化公司
  • 网站的360快照怎么做锦州网站seo
  • 【Android】结合View的事件分发机制解决滑动冲突
  • python 异步编程 -- 理解asyncio里的Future 对象
  • zoho crmvue做网站对seo
  • Java---System 类
  • 31.使用等待队列实现阻塞访问
  • Tyme 技术赋能:节气与季节的高效求解实战攻略
  • 【C++】2025CSP-J第二轮真题及解析
  • 网站建设教程流程更改wordpress主题语言
  • 朝阳区网站建设蒙特网设计公司
  • 济南网站优化厂家做同城服务网站比较成功的网站
  • 老鼠目标检测数据集(3000张)
  • 想做个网站怎么做长沙五百强企业名单
  • 九江建网站报价wordpress wiki 整合
  • 中英文版网站建设小广告制作
  • 05-深度学习的原理:探讨深度学习的工作原理和数学基础
  • 【深度学习新浪潮】AI缺陷检测:从技术原理到工业落地实践
  • lol英雄介绍网站模板网络广告推广员
  • 接单网站设计 只做设计图报价cpa推广联盟平台
  • kotlin学习 基础知识一览
  • 开通建立企业网站谷歌浏览器下载安卓版
  • 基于 venv 快速搭建 Python 环境
  • C 文件操作全解速览
  • MCP指南