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

1077: 平衡二叉树的判定

解法:

平衡二叉树是一种特殊的二叉树,它满足以下两个条件:

  1. 左子树和右子树的高度差不超过1(即,左右子树高度差的绝对值不超过1)。
  2. 左子树和右子树都是平衡二叉树。

后序遍历过程中每次判断左右子树高度差和1的关系即可

#include<iostream>
using namespace std;
struct treeNode {char val;treeNode* left, * right;treeNode(char x) :val(x), left(NULL), right(NULL) {};
};
treeNode* buildtree() {char ch;cin >> ch;if (ch == '#') return NULL;treeNode* root = new treeNode(ch);root->left = buildtree();root->right = buildtree();return root;
}
bool f = false;
int dfs(treeNode* r) {if (r == NULL) return 0;int lh = dfs(r->left);int rh = dfs(r->right);if (abs(lh - rh) > 1) f = true;return max(lh, rh) + 1;
}
int  main() {treeNode* root = buildtree();if (root == NULL) cout << "yes!";else {dfs(root);if (f) cout << "no!";else cout << "yes!";}return 0;
}

http://www.lryc.cn/news/351807.html

相关文章:

  • 深度学习-Softmax回归+损失函数+图像分类数据集
  • 【论文解读】Overview of the Scalable Video Coding Extension of the H.264/AVC Standard
  • 【C语言】程序员自我修养之文件操作
  • 一种获取java代码结构的实现思路
  • MySQL---增删改查
  • C#编程-.NET Framework使用工具类简化对象之间的属性复制和操作
  • 爬虫基本原理及requests库用法
  • spring和springboot、springcloud版本关系
  • 视频监控汇聚平台LntonCVS通过GB/T28181国标协议实现视频监控平台的级联方案
  • 【精品】使用 v-md-editor 上传图片
  • STM32——DAC篇(基于f103)
  • 突然提示由于找不到msvcr120.dll,无法继续执行代码有什么办法可以解决?
  • swig4.2.1压缩包中里面没有找到swig.exe
  • Vue文本溢出如何自动换行
  • 【系统架构师】-论文-系统安全性与保密性设计
  • Cisco Catalyst 9000 9200 9300 9400 IOS software upgrade
  • Web Server项目实战2-Linux上的五种IO模型
  • Docker | 基础指令
  • 10款手机黑科技app,每款都好用到爆!
  • tomcat请求数据解析过程
  • 《扑克牌游戏》
  • kali模块及字典介绍
  • 交换排序、归并排序、计数排序
  • 怎么查看 iOS ipa包 mobileprovision 改动
  • 【Unitydemo制作】音游制作—控制器与特效
  • [程序员] 最近的感悟,错误处理占大头?
  • vue3(一) - 结构认识
  • 数据库迁移——kettle开发01
  • Netty: Netty中的组件
  • Julia编程01:Julia语言介绍