博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetCode 110. Balanced Binary Tree 平衡二叉树
阅读量:5786 次
发布时间:2019-06-18

本文共 1039 字,大约阅读时间需要 3 分钟。

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

转载地址:http://eotyx.baihongyu.com/

你可能感兴趣的文章
python2和python3同安装在Windows上,切换问题
查看>>
php加速工具xcache的安装与使用(基于LNMP环境)
查看>>
android超链接
查看>>
redhat tomcat
查看>>
统计数据库大小
查看>>
第十六章:脚本化HTTP
查看>>
EXCEL表中如何让数值变成万元或亿元
查看>>
nginx在响应request header时候带下划线的需要开启的选项
查看>>
Linux下DHCP服务器配置
查看>>
AndroidStudio中导入SlidingMenu报错解决方案
查看>>
编写高性能的java程序
查看>>
Spring 的配置详解
查看>>
linux已经不存在惊群现象
查看>>
上位机和底层逻辑的解耦
查看>>
关于微信二次分享 配置标题 描述 图片??
查看>>
springcloud使用zookeeper作为config的配置中心
查看>>
校园火灾Focue-2---》洗手间的一套-》电梯
查看>>
bzoj1913
查看>>
L104
查看>>
分镜头脚本
查看>>