• 18.Keyboard Row


    题目描述:

    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,是的话就可判断为平衡二叉树。可以定义一个函数来计算树(子树)的高度,再通过判别函数来作出判断

    代码如下:

    class Solution {
      public:
        bool isBalanced(TreeNode* root) {
          if (root == NULL) return true;

          int left=depth(root->left);
          int right=depth(root->right);

          return abs(left - right) <= 1 && isBalanced(root->left) && isBalanced(root->right);
        }
        int depth (TreeNode *root) {
          if (root == NULL) return 0;
          return max (depth(root -> left), depth (root -> right)) + 1;
        }
    };




  • 相关阅读:
    Js内存泄漏的几种情况
    简单工厂模式
    单例模式
    设计模式简介
    百度地图api-动态添加覆盖物
    ArcGIS发布地图服务后直接调用查看方法
    NetCDF 共享软件 中文
    Oracle服务器重命名
    NETCDF入门
    Oracle11gExpress和PL/SQL Developer安装
  • 原文地址:https://www.cnblogs.com/sarahp/p/7127269.html
Copyright © 2020-2023  润新知