【題目描述】
Given a binary tree, determine if it is height-balanced.
For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never differ by more than 1.
給定一個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是:一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。
【題目鏈接】
www.lintcode.com/en/problem/balanced-binary-tree/
【題目解析】
根據題意,平衡樹的定義是兩子樹的深度差最大不超過1,顯然使用遞歸進行分析較爲方便。既然使用遞歸,那麼接下來就需要分析遞歸調用的終止條件。NULL == root必然是其中一個終止條件,返回0;根據題意還需的另一終止條件應爲「左右子樹高度差大於1」,但對應此終止條件的返回值是多少?——INT_MAXorINT_MIN?可以傳入參數中傳入bool指針或者bool引用,並以此變量作爲最終返回值。
【參考答案】
www.jiuzhang.com/solutions/balanced-binary-tree/