zoukankan      html  css  js  c++  java
  • Balanced Binary Tree

    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.

    /**
     * Definition for a binary tree node.
     * struct TreeNode {
     *     int val;
     *     TreeNode *left;
     *     TreeNode *right;
     *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
     * };
     */
    class Solution {
    public:
        bool isBalanced(TreeNode* root) {
         //两个递归,一个递归求树的高度,另一个递归求左右树是否平衡
        
         if (root == NULL)
         return true;
         int l= height(root->left);
         int r= height(root->right);
         if(l-r>=-1&&l-r<=1)
         return isBalanced(root->left)&&isBalanced(root->right);
         else
         return false;
        }
        int height (TreeNode* root)
        {
            if(root==NULL)
            return 0;
            else
            {if (root->left ==NULL )
             return  height(root->right)+1;
             if(root->right == NULL)
             return  height(root->left)+1;
             else
             {
                 int l= height(root->left)+1;
                 int r= height(root->right)+1;
                 return max(l,r);
             }
               
            }
        }
       
       
    };

  • 相关阅读:
    redis学习
    win2008下c#调用directshow问题
    vs2005升级到vs2010相关问题
    spark-shell 启动失败,显示端口问题
    监控spark-sql 等脚本
    spark 相关配置 shuffle 相关配置选项
    spark on Yarn 语句
    使用hive thriftserver 连接spark sql
    HBase 报错系列之region is not online
    HBase 表迁移中对丢失的表检查使用的语句
  • 原文地址:https://www.cnblogs.com/gofighting/p/5036234.html
Copyright © 2011-2022 走看看