給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。
baseline
還是求樹的深度,採用「後續遍歷」的方式。後續遍歷時,遍歷到乙個節點,其左右子樹已經遍歷了,依次自底向上判斷,每個節點只需要遍歷一次,減少了重複。
這是基於「前序遍歷」的方式,會有很多重複遍歷。
class
solution
inttreedepth
(treenode* proot)
};
基於後序遍歷的方式(推薦)
class
solution
intgetdepth
(treenode* root)
private
:bool res;
};
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...