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

Day98 | 灵神 | 二叉树 平衡二叉树

Day98 | 灵神 | 二叉树 平衡二叉树

110.平衡二叉树

110. 平衡二叉树 - 力扣(LeetCode)

思路:

笔者的思路:

就是左右子树高度差不超过1

那就算左子树和右子树高度然后相减,如果超过1就把标记flag变为false即可

灵神的思路:

灵神是失败就返回-1而不使用flag标记

如果最后返回的结果不是-1,那就是true,是的话就是false

完整代码:

笔者的

class Solution {
public:bool flag=true;int get_depth(TreeNode* t){if(t==nullptr)return 0;int l=get_depth(t->left)+1;int r=get_depth(t->right)+1;if(abs(l-r)>1)flag=false;return max(l,r);}bool isBalanced(TreeNode* root) {int a=get_depth(root);return flag;}
};

灵神的简洁版代码

class Solution {int get_height(TreeNode* node) {if (node == nullptr) {return 0;}int left_h = get_height(node->left);if (left_h == -1) {return -1; // 提前退出,不再递归}int right_h = get_height(node->right);if (right_h == -1 || abs(left_h - right_h) > 1) {return -1;}return max(left_h, right_h) + 1;}public:bool isBalanced(TreeNode* root) {return get_height(root) != -1;}
};

相关文章:

  • 文件上传漏洞3
  • 开发网页程序时预览时遇到跨域问题解决方法
  • 【EasyPan】文件上传、文件秒传、文件转码、文件合并、异步转码分析
  • 4.LinkedList的模拟实现:
  • 懒人一键搭建符号执行环境V5K3
  • 【C++】——入门基础(一)
  • 详解Windows(七)——更新管理
  • dmncdm达梦新云缓存数据库主从集群安装部署详细步骤说明
  • 数据结构*链表- LinkedList
  • 多模态知识图谱:重构大模型RAG效能新边界
  • 【锂电池剩余寿命预测】LSTM长短期记忆神经网络锂电池剩余寿命预测(Matlab源码)
  • 【MQ篇】RabbitMQ初体验!
  • 网络设备智能巡检系统-MCP案例总结
  • 网易云音乐如何修改缓存地址到D盘
  • 【自然语言处理与大模型】如何知道自己部署的模型的最大并行访问数呢?
  • 再见 Smartdaili,你好 Decodo!
  • 2025年阿里云云计算ACP高级工程师认证模拟试题(附答案解析)
  • DeepSeek系列(5):助力数据分析
  • 黑马商城(六)RabbitMQ
  • 利用java语言,怎样开发和利用各种开源库和内部/自定义框架,实现“提取-转换-加载”(ETL)流程的自动化
  • 陈芋汐世界杯总决赛卫冕夺冠,全红婵无缘三大赛“全满贯”
  • 习近平给谢依特小学戍边支教西部计划志愿者服务队队员回信
  • 全国铁路旅客发送量连续3天同比增幅超10%,今日预计发送1800万人次
  • 人民日报头版头条:青春为中国式现代化挺膺担当
  • 5月1日,全社会跨区域人员流动量完成33271.4万人次
  • 全国铁路昨日发送2311.9万人次,同比增长11.7%创历史新高