LeetCode 110平衡二叉树-简单
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 110平衡二叉树-简单
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個二叉樹,判斷它是否是高度平衡的二叉樹。
本題中,一棵高度平衡二叉樹定義為:
一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 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 (root==nullptr) 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;} };總結
以上是生活随笔為你收集整理的LeetCode 110平衡二叉树-简单的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 111二叉树的最小深度
- 下一篇: 晚饭吃什么减肥效果最好