我是靠谱客的博主 和谐纸鹤,最近开发中收集的这篇文章主要介绍leetcode110题 题解 翻译 C语言版 Python版,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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.

110.平衡二叉树

给定一棵二叉树,判定其是否是高度平衡的

在这个问题中,一棵高度平衡的二叉树定义为两棵子树的高度差不超过1,并且两棵子树也分别是高度平衡的。


思路:很明显的调用递归解决的题。分别递归判定左子树和右子树是否为高度平衡的,不是直接返回false,如果左右子树都分别是高度平衡的,再判断当前是否为高度平衡的。先递归获取左子树和右子树的高度,然后根据高度差得到是否为高度平衡。需要注意的是递归终点是根为NULL时,直接返回true即可,这也与输入的特殊情况一致。


/**
* Definition for a binary tree node.
* struct TreeNode {
*
int val;
*
struct TreeNode *left;
*
struct TreeNode *right;
* };
*/
int getDepth(struct TreeNode* root){
if (root == NULL) return 0;
int depthl = getDepth(root->left);
int depthr = getDepth(root->right);
return depthl>depthr?depthl+1:depthr+1;
}
bool isBalanced(struct TreeNode* root) {
if (root == NULL) return true;
if (!isBalanced(root->left)) return false;
if (!isBalanced(root->right)) return false;
int depthl = getDepth(root->left);
int depthr = getDepth(root->right);
int diff = depthl - depthr;
if (diff < 2 && diff > -2){
return true;
}
else return false;
}


# Definition for a binary tree node.
# class TreeNode(object):
#
def __init__(self, x):
#
self.val = x
#
self.left = None
#
self.right = None
class Solution(object):
def isBalanced(self, root):
"""
:type root: TreeNode
:rtype: bool
"""
if not root: return True
if not self.isBalanced(root.left): return False
if not self.isBalanced(root.right): return False
depthl = self.getDepth(root.left)
depthr = self.getDepth(root.right)
diff = depthl - depthr
if (diff < 2 and diff > -2): return True
else: return False
def getDepth(self, root):
if not root: return 0
depthl = self.getDepth(root.left)
depthr = self.getDepth(root.right)
return depthl+1 if depthl>depthr else depthr+1



最后

以上就是和谐纸鹤为你收集整理的leetcode110题 题解 翻译 C语言版 Python版的全部内容,希望文章能够帮你解决leetcode110题 题解 翻译 C语言版 Python版所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部