LeetCode(Balanced Binary Tree ) 判断一个二叉树是否为平衡二叉树

来源:互联网 发布:淘宝v卡积分规则 编辑:程序博客网 时间:2024/05/14 03:01

题目要求:

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.

代码:

class Solution {public:   bool DFS(TreeNode* root, int& deep)  {    if(root == NULL)    {      deep = 0;      return true;    }    int left_deep, right_deep;    if(DFS(root->left, left_deep) && DFS(root->right, right_deep))    {      int diff = abs(left_deep - right_deep);      if(diff <= 1)      {        deep = 1 + (left_deep > right_deep ? left_deep : right_deep);        return true;      }    }    return false;  }    bool isBalanced(TreeNode *root) {    int deep;    return DFS(root, deep);  }};


0 0
原创粉丝点击