当前位置: 首页 > 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)流程的自动化
  • “很多中国企业竞争力独一无二”,这场对接会上他频频为协同供应链点赞
  • 一场12年的马拉松,他用声音陪伴中国路跑成长
  • 当代读书人的暗号:不是拆快递,是拆出版社样书!|世界读书日特辑
  • 华天酒店:2024年归母净亏损约1.81亿元,已连续亏损3年
  • 受贿超8.22亿元,新疆维吾尔自治区党委原副书记李鹏新一审被判死缓
  • 细说汇率 ⑬ 美元进入“全是坏消息”阶段