給定乙個二叉樹,判斷它是否是高度平衡的二叉樹
採用深度優先遍歷,計算出當前節點的左右子樹高度後做差,如果大於1則說明不是平衡二叉樹
class
solution
dfs(root,1)
;return result;
}private
intdfs
(treenode root,
int height)
int leftheight =
dfs(root.left, height +1)
;int rightheight =
dfs(root.right, height +1)
;if(math.
abs(leftheight - rightheight)
>1)
return math.
max(leftheight, rightheight)
;// 返回當前節點的高度
}}
leetcode 110 平衡二叉樹 平衡二叉樹
leetcode 110 平衡二叉樹 平衡二叉樹要求所有節點的左右子樹的高度差小於1,因此,只需在遍歷的時候返回其左右子樹的深度。definition for a binary tree node.public class treenode treenode int val treenode int...
LeetCode110 平衡二叉樹
給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回true。示例 2 給定二叉樹 1,2,2,3,3,null,nul...
LeetCode 110 平衡二叉樹
給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回true。示例 2 給定二叉樹 1,2,2,3,3,null,nul...