博客
关于我
leetcode-判断平衡二叉树-34
阅读量:276 次
发布时间:2019-03-01

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

题目要求

  给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。

思路

  这个题的思路和判断二叉树的最大深度类似,我们需要求出左子树和右子树中最大的那个,在那个基础上加一,两个子数的深度差的绝对值小于2。

图解

在这里插入图片描述

代码实现

int max(int x, int y){	return x > y ? x : y;}int maxDepth(struct TreeNode* root){	if (root == NULL)	{		return 0;	}	return max(maxDepth(root->left), maxDepth(root->right)) + 1;}bool isBalanced(struct TreeNode* root){	if (root == NULL)	{		return true;	}	int leftDepth = maxDepth(root->left);	int rightDepth = maxDepth(root->right);	return abs(leftDepth - rightDepth) < 2 && isBalanced(root->left) && isBalanced(root->right);}

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

你可能感兴趣的文章
NIO ByteBuffer实现原理
查看>>
Nio ByteBuffer组件读写指针切换原理与常用方法
查看>>
NIO Selector实现原理
查看>>
nio 中channel和buffer的基本使用
查看>>
NIO_通道之间传输数据
查看>>
NIO三大组件基础知识
查看>>
NIO与零拷贝和AIO
查看>>
NIO同步网络编程
查看>>
NIO基于UDP协议的网络编程
查看>>
NIO笔记---上
查看>>
Vue3.0中的响应式原理(第九课)
查看>>
NIO蔚来 面试——IP地址你了解多少?
查看>>
NISP一级,NISP二级报考说明,零基础入门到精通,收藏这篇就够了
查看>>
NISP国家信息安全水平考试,收藏这一篇就够了
查看>>
NIS服务器的配置过程
查看>>
NIS认证管理域中的用户
查看>>
Nitrux 3.8 发布!性能全面提升,带来非凡体验
查看>>
NiuShop开源商城系统 SQL注入漏洞复现
查看>>
NI笔试——大数加法
查看>>
NLog 自定义字段 写入 oracle
查看>>