天天看點

劍指offer系列之三十八:判斷是否是平衡二叉樹

題目描述

輸入一棵二叉樹,判斷該二叉樹是否是平衡二叉樹。

所謂平衡二叉樹就對某個結點來講,其左子樹的深度與右子樹深度的絕對值不超過1。由于需要對每個節點進行判斷,是以可以采用遞歸的思路進行解決。具體思路是:先求出根節點的左右子樹的深度,并對兩者進行判斷,如果沒有滿足左右子樹的深度的絕對值不超過1的條件,那麼就不是平衡二叉樹。下一步,自然就是分别對根節點的左右子樹進行遞歸判斷了,這樣一直到葉子結點。整棵二叉樹的所有節點都判斷完畢,是以這個問題就解決了。下面是這種思路的實作代碼(已被牛客ac):