110 平衡二叉樹

2021-09-29 08:27:13 字數 1003 閱讀 1400

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。

本題中,一棵高度平衡二叉樹定義為:

乙個二叉樹每個節點的左右兩個子樹的高度差的絕對值不超過1。

示例 1:

給定二叉樹[3,9,20,null,null,15,7]

3

/ \ 9

20/ \

157

返回true

示例 2:

給定二叉樹[1,2,2,3,3,null,null,4,4]

1

/ \ 2

2/ \

33/ \

44

返回false

一棵二叉樹平衡的條件:每個節點的左右兩個子樹的高度差的絕對值不超過1。

可以分三步:

當前樹根結點的左右子樹的高度差絕對值不超過1。

左子樹平衡:以當前樹根結點的左子結點為根結點的子樹要平衡。

右子樹平衡:以當前樹根結點的右子結點為根結點的子樹要平衡。

上面3步,有1步不滿足,則這個二叉樹不平衡;只有同時滿足上面3個條件,二叉樹才平衡。第2、3步判斷左右子樹的平衡和第1步方法相同。

計算樹高度的方法:

一棵二叉樹的高度 = 根結點的高度(即1)+ 左右子樹高度的最大值

/**

* definition for a binary tree node.

* public class treenode

* }*/class

solution

public

intheight

(treenode node)

}

其他方法可參考krahets。

如有不當之處,歡迎讀者批評指正!

110 平衡二叉樹

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,n...

110 平衡二叉樹

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回 true 思路 注釋 private boolean isbala...

110 平衡二叉樹

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,n...