• 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 #include <cstdlib>
     2 #include <iostream>
     3 
     4 struct TreeNode{
     5     int val;
     6     TreeNode* left;
     7     TreeNode* right;
     8     TreeNode(int x):val(x),left(nullptr),right(nullptr){}
     9 };
    10 
    11 class Solution {
    12 public:
    13     bool isBalanced(TreeNode* root) {
    14         int depth=0;
    15         return helper(root,depth);
    16     }
    17     bool helper (TreeNode* root,int& depth) {
    18         if (root == nullptr){
    19             depth = 0;
    20             return true;
    21         }
    22         int ld,rd;
    23         if(helper(root->left,ld) && helper(root->right,rd)){
    24             if(abs(ld-rd)>1){
    25                 return false;
    26             }
    27             depth = ld>rd? ld+1 : rd+1;
    28         }
    29     }
    30 };
    31 
    32 /**
    33 Function:compute the depth of a binary tree.
    34 */
    35 
    36 int treeDepth(TreeNode* root)
    37 {
    38     if(!root) return 0;
    39     int ld = treeDepth(root->left);
    40     int rd = treeDepth(root->right);
    41     return ld > rd ? ld + 1 : rd + 1;
    42 }
    43 
    44 int main()
    45 {
    46     TreeNode* root = new TreeNode(1);
    47     root->left = new TreeNode(2);
    48     root->right = new TreeNode(5);
    49     root->left->right = new TreeNode(3);
    50     root->left->right->right = new TreeNode(4);
    51 
    52     Solution s;
    53     s.isBalanced(root);
    54     std::cout << treeDepth(root) << std::endl;
    55 
    56     return 0;
    57 }
  • 相关阅读:
    多对多关系表的创建方式、forms组件
    SweetAler弹框插件与分页器插件
    Django数据库查询优化与AJAX
    django orm(2)
    Django orm(1)
    Django之视图层与模板层
    Django之路由层
    初识Django之前端后端与数据库的配置
    面试题49
    web框架之初识Django
  • 原文地址:https://www.cnblogs.com/wxquare/p/4957342.html
Copyright © 2020-2023  润新知