給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是:一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。
樣例 1:
輸入: tree =
輸出: true
樣例解釋:
如下,是乙個平衡的二叉樹。
1 / \
2 3
樣例 2:
輸入: tree =
輸出: true
樣例解釋:
如下,是乙個平衡的二叉樹。
3 / \
9 20
/ \
15 7
樣例 2:
輸入: tree =
輸出: false
樣例解釋:
如下,是乙個不平衡的二叉樹。1的左右子樹高度差2
1 \
2
/ \
3 4
輸入測試資料 (每行乙個引數)如何理解測試資料?
/*** definition of treenode:
* public class treenode
* }*/
public class solution else
}//判斷是否平衡的函式
public boolean checknode(treenode root)
//判斷左節點
if (!checknode(root.left))
//判斷右節點
if (!checknode(root.right))
//呼叫getdepth函式得到左右子樹的深度
int left=getdepth(root.left);
int right=getdepth(root.right);
//abs函式求絕對值
if(math.abs(left-right)>1)else
}public int getdepth(treenode root)
int a=getdepth(root.left);
int b=getdepth(root.right);
return math.max(a, b)+1;}}
輸入檢視差別
輸出
true
期望答案
true
93 平衡二叉樹 回顧
中文english 給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是 一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。樣例 1 輸入 tree 輸出 true 樣例解釋 如下,是乙個平衡的二叉樹。1 2 3 樣例 2 輸入 tree 輸出 true 樣例解釋 如下,...
lintcode 93 平衡二叉樹
給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是 一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。您在真實的面試中是否遇到過這個題?yes 樣例 給出二叉樹 a b 二叉樹a是高度平衡的二叉樹,但是b不是 標籤分治法 遞迴 思路 採用遞迴的方式,判斷某個結點的平衡因...
lintcode 93 平衡二叉樹
平衡二叉樹 給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是 一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。您在真實的面試中是否遇到過這個題?yes樣例給出二叉樹 a b a 3 b 3 9 20 20 15 7 15 7二叉樹a是高度平衡的二叉樹,但是b不是 標...