zoukankan      html  css  js  c++  java
  • 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;
        }
    };




  • 相关阅读:
    棋盘问题 简单搜索DFS
    Equivalent Strings
    素数环
    LeetCode Maximum Product Subarray
    UVA 725 – Division
    矩形嵌套问题
    ACM最大子串和问题
    ACM装箱问题
    ACM田胫赛马
    ACM雷达安放问题
  • 原文地址:https://www.cnblogs.com/sarahp/p/7127269.html
Copyright © 2011-2022 走看看