leetCode 110. Balanced Binary Tree 平衡二叉树

简介:

110. 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. 做一个辅助函数来求的树的高度。

  2. 通过辅助函数来递归求解。


代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/**
  * 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 :
     int  depth(TreeNode* root)
     {
         if (!root)
             return  0;
         int  l = depth(root->left) ;
         int  r = depth(root->right) ;
         return  1 + ((l > r)?l:r);
     }
     bool  isBalanced(TreeNode* root) {
         if (!root)
             return  true ;
         else
         {
             int  l = depth(root->left);
             int  r = depth(root->right);
             if (l + 1 < r || r + 1 <l)
             {
                 return  false ;
             }
             else
                 return  (isBalanced(root->left) && isBalanced(root->right) );
         }
     }
};



本文转自313119992 51CTO博客,原文链接:http://blog.51cto.com/qiaopeng688/1835477
相关文章
|
3月前
【LeetCode 33】110.平衡二叉树
【LeetCode 33】110.平衡二叉树
20 1
|
8月前
leetcode代码记录(平衡二叉树
leetcode代码记录(平衡二叉树
45 0
|
5月前
|
算法 Java 关系型数据库
leetcode110-平衡二叉树
文章通过LeetCode第110题"平衡二叉树"的解题过程,深入讲解了平衡二叉树的定义、树的高度概念,并提供了使用后序遍历算法判断二叉树是否平衡的Java代码实现,强调了理解理论知识和实践编码的重要性。
|
5月前
|
Python
【Leetcode刷题Python】110. 平衡二叉树
LeetCode第110题"平衡二叉树"的Python解决方案,通过计算二叉树的高度并判断任意两个子树的高度差是否不超过1来确定树是否平衡。
32 2
|
7月前
|
SQL 算法 数据挖掘
力扣110:平衡二叉树
力扣110:平衡二叉树
|
算法
【LeetCode题目详解】(五)144.二叉树的前序遍历、94.二叉树的中序遍历、145.二叉树的后序遍历、104.二叉树的最大深度、110.平衡二叉树
【LeetCode题目详解】(五)144.二叉树的前序遍历、94.二叉树的中序遍历、145.二叉树的后序遍历、104.二叉树的最大深度、110.平衡二叉树
60 0
LeetCode | 110. 平衡二叉树
LeetCode | 110. 平衡二叉树
|
8月前
|
Java C++ Python
leetcode-110:平衡二叉树
leetcode-110:平衡二叉树
53 0
LeetCode刷题Day14——二叉树(完全二叉树、平衡二叉树、二叉树路径、左叶子之和)
一、完全二叉树的节点个数 题目链接:222. 完全二叉树的节点个数
|
算法
代码随想录算法训练营第十七天 | LeetCode 110. 平衡二叉树、257. 二叉树的所有路径、404. 左叶子之和
代码随想录算法训练营第十七天 | LeetCode 110. 平衡二叉树、257. 二叉树的所有路径、404. 左叶子之和
51 0