93 平衡二叉樹

2021-10-06 05:14:41 字數 1340 閱讀 1838

給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是:一棵二叉樹中每個節點的兩個子樹的深度相差不會超過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不是 標...