二叉树平衡检查(递归)
来源:互联网 发布:新软件发布 编辑:程序博客网 时间:2024/06/01 10:48
题目描述
实现一个函数,检查二叉树是否平衡,平衡的定义如下,对于树中的任意一个结点,其两颗子树的高度差不超过1。
给定指向树根结点的指针TreeNode* root,请返回一个bool,代表这棵树是否平衡。
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};*/int depthTree(TreeNode* root){if (root==NULL){return -1;}else{int left=depthTree(root->left)+1;int right=depthTree(root->right)+1;return left>right?left:right;}}class Balance {public:bool isBalance(TreeNode* root) {if (root==NULL){return -1;}int depth_left=depthTree(root->left);int depth_right=depthTree(root->right);int diff=depth_left-depth_right;if (diff>1||diff<-1)return false;return isBalance(root->left)&&isBalance(root->right);}};
0 0
- 二叉树平衡检查(递归)
- 二叉树平衡检查(递归思想分析)
- 二叉树平衡检查(递归思想分析)
- 二叉树平衡检查
- 二叉树平衡检查
- 二叉树平衡检查
- 二叉树平衡检查
- 二叉树平衡检查
- 二叉树平衡检查
- 二叉树平衡检查
- 二叉树平衡检查
- 检查平衡二叉树
- 检查二叉树是否平衡
- 二叉树平衡检查(Java)
- 检查二叉树平衡的递归和非递归的实现
- 【Java】检查二叉树是否平衡。
- 平衡二叉树插入、删除(递归算法)
- 平衡二叉树插入、删除(非递归算法)
- C++11新特性
- Linux下获取硬盘相关信息
- java设计模式----建造者模式
- HDU 1325 Is It A Tree?(并查集简单题)
- vector的clear操作的内部过程
- 二叉树平衡检查(递归)
- Android学习笔记:Andorid网络请求框架Volley的使用(上)
- 信号--SIGCLD语义
- java RSA加密解密
- NumPy矩阵运算
- POJ 3126 Prime Path
- Java读写Properties属性文件
- java语言的反射机制
- 【干货】创业做产品最不该犯的四个错误