給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。
本題中,一棵高度平衡二叉樹定義為:
乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。
示例 1:【自上而下遞迴】給定二叉樹 [3,9,20,null,null,15,7]
返回 true 。
示例 2:
給定二叉樹 [1,2,2,3,3,null,null,4,4]
返回 false 。
public
boolean
isbalanced
(treenode root)
return math.
abs(
height
(root.left)
-height
(root.right)
)<=1&&
isbalanced
(root.left)
&&isbalanced
(root.right);}
private
intheight
(treenode root)
return math.
max(
height
(root.left)
,height
(root.right))+1;}
【自下而上遞迴】boolean ans =
true
;public
boolean
isbalanced
(treenode root)
private
intheight
(treenode root)
int lefth =
height
(root.left)
;int righth =
height
(root.right);if
(math.
abs(lefth - righth)
>1)
return math.
max(lefth, righth)+1
;}
力扣題解 110 平衡二叉樹
給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,nu...
LeetCode 力扣 110 平衡二叉樹
判斷一棵樹是否是平衡二叉樹,平衡二叉樹定義如下 它是一棵空樹或它的左右兩個子樹的高度差的絕對值不超過 1,並且左右兩個子樹都是一棵平衡二叉樹。直接按照定義來吧,並且多定義乙個求高度的函式,之前在 104 題 做過。public boolean isbalanced treenode root 它的左...
力扣解題思路 110 平衡二叉樹 糾錯記錄
思路 判斷一棵樹是否是平衡二叉樹。屬於簡單題,用dfs記錄每條路徑的長度,比較每個節點的左右子樹長度,只要不滿足就是false。但是做到一半我竟然卡住了 public boolean flag true public boolean isbalanced treenode root public i...