zoukankan      html  css  js  c++  java
  • [LeetCode]Balanced Binary Tree

    Balanced Binary Tree

    Given a binary tree, determine if it is height-balanced.

    For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.

    对每个节点计算该节点的深度,做过左右节点深度相差大于1,false。

     1 /**
     2  * Definition for a binary tree node.
     3  * struct TreeNode {
     4  *     int val;
     5  *     TreeNode *left;
     6  *     TreeNode *right;
     7  *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     8  * };
     9  */
    10 class Solution {
    11 public:
    12     int depthOfTree(TreeNode* root)
    13     {
    14         if(!root) return 0;
    15         return max(depthOfTree(root->left),depthOfTree(root->right))+1;
    16     }
    17     bool isBalanced(TreeNode* root) {
    18         if(!root) return true;
    19         if (abs(depthOfTree(root->left)-depthOfTree(root->right))>1) return false;
    20         bool left = isBalanced(root->left);
    21         bool right = isBalanced(root->right);
    22         return left&&right;
    23     }
    24 };
  • 相关阅读:
    什么是前后端分离?
    Ubuntu修改时区和更新时间
    待学
    Pycharm默认输入状态是insert状态,选中文字无法直接输入替换或删除
    使用jsonify返回json数据
    Linux
    Linux
    Linux
    JavaScript
    JavaScript
  • 原文地址:https://www.cnblogs.com/Sean-le/p/4796286.html
Copyright © 2011-2022 走看看