博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode]Balanced Binary Tree
阅读量:6345 次
发布时间:2019-06-22

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

问题描写叙述:

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 ofevery node never differ by more than 1.

代码:

class Solution {  //c++public:	int getHigh(TreeNode * root, bool & isBalanc)	{		if(root->left == NULL && root->right == NULL)			return 1;		int lmin = 0;		int rmin = 0;		bool lbalence = true;		bool rbalence = true;		if(root->left != NULL)			lmin = getHigh(root->left,lbalence);		if(root->right != NULL)			rmin = getHigh(root->right, rbalence);		if(!lbalence || !rbalence || abs(lmin - rmin) >1)			isBalanc = false;		int high = 1+ ((lmin > rmin)?lmin:rmin);  //attention: should add () for ?:     i make a fault  here		return high;	}	bool isBalanced(TreeNode *root) {		if (root == NULL)			return true;        				bool isBalanc = true;		getHigh(root, isBalanc);				return isBalanc;	}};

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

你可能感兴趣的文章
方法内部类
查看>>
不过的小东东
查看>>
随时更新
查看>>
python操作mongodb之七时间和时区
查看>>
MVVM开始
查看>>
Android开发之《内存对齐》
查看>>
https页面与http页面自动切换----SSL解决方案
查看>>
SqlServer里DateTime转字符串
查看>>
个人项目博客----移山小分队----05
查看>>
R(rattle)实现决策树算法
查看>>
js中取el表达式问题
查看>>
tomcat7.0安装笔记
查看>>
Properties类
查看>>
凯撒加密解密
查看>>
VS2015/Visual Studio快捷键无效问题
查看>>
forfiles命令详解
查看>>
java 面向对象
查看>>
寄存器知识点
查看>>
v-if和v-show区别
查看>>
Windows安全认证是如何进行的?[NTLM篇]
查看>>