給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是:一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。您在真實的面試中是否遇到過這個題? yes
樣例思路給出二叉樹 a=, b=
二叉樹a是高度平衡的二叉樹,但是b不是
標籤分治法 遞迴
採用遞迴的方式,判斷某個結點的平衡因子(左右子樹高度差)是否大於1,若平衡因子大於1,則其一定不是平衡二叉樹,否則,繼續判斷。
code
/**
* definition of treenode:
* class treenode
* }*/class solution
int issubtreebalanced(treenode *root)
int left = issubtreebalanced(root->left);
int right = issubtreebalanced(root->right);
if(left == -1 || right == -1 || abs(left - right) > 1)
else }};
lintcode 93 平衡二叉樹
平衡二叉樹 給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是 一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。您在真實的面試中是否遇到過這個題?yes樣例給出二叉樹 a b a 3 b 3 9 20 20 15 7 15 7二叉樹a是高度平衡的二叉樹,但是b不是 標...
93 平衡二叉樹
給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是 一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。樣例 1 輸入 tree 輸出 true 樣例解釋 如下,是乙個平衡的二叉樹。1 2 3 樣例 2 輸入 tree 輸出 true 樣例解釋 如下,是乙個平衡的二叉樹。...
平衡二叉樹 LintCode
描述 給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是 一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。樣例 給出二叉樹 a b a 3 b 3 9 20 20 15 7 15 7二叉樹a是高度平衡的二叉樹,但是b不是。思路 如果想要判斷是否是平衡二叉樹,則要判斷每...