做网站如何赚钱知乎,竞赛网站建设风险评估,wordpress的用户登录地址默认,什么是网站名给定一个二叉树#xff0c;判断它是否是高度平衡的二叉树。
本题中#xff0c;一棵高度平衡二叉树定义为#xff1a;
一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。示例 1#xff1a; 输入#xff1a;root [3,9,20,null,null,15,7] 输出#xff1a;t…给定一个二叉树判断它是否是高度平衡的二叉树。
本题中一棵高度平衡二叉树定义为
一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。示例 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] 内
-10^4 Node.val 10^4代码如下:
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {
public:bool isBalanced(TreeNode* root) {return height(root) 0;}int height(TreeNode *root){if (rootnullptr) return 0;int left_h height(root-left);int right_h height(root-right);if (left_h-1 || right_h-1 || abs(left_h-right_h) 1) return -1;elsereturn max(left_h,right_h)1;}
};