實現乙個函式,檢查二叉樹是否平衡。在這個問題中,平衡樹的定義如下:任意乙個節點,其兩棵子樹的高度差不超過 1。
示例 1:
給定二叉樹 [3,9,20,null,null,15,7]
3/ \
9 20
/ \
15 7
返回 true 。
示例 2:
給定二叉樹 [1,2,2,3,3,null,null,4,4]
1/ \
2 2
/ \3 3
/ \4 4
返回 false 。
/*** definition for a binary tree node.
* public class treenode
* } */
class
solution
public
intlenth(treenode node)
int l =lenth(node.left);
int r =lenth(node.right);
int gap = l -r;
if(gap < 0)
if(gap > 1)
return l > r? l+1 : r+1;
}}
1、其實該題考察的本質是求二叉樹的深度;
2、有非遞迴的解決辦法,但是基本思路和遞迴是一樣的(待實現);
3、當root為空時返回為true。
LeetCode 面試題 04 04 檢查平衡性
實現乙個函式,檢查二叉樹是否平衡。在這個問題中,平衡樹的定義如下 任意乙個節點,其兩棵子樹的高度差不超過 1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,null,4,4 1 2 2 3...
leetcode 面試題 04 04 檢查平衡性
題目 實現乙個函式,檢查二叉樹是否平衡。在這個問題中,平衡樹的定義如下 任意乙個節點,其兩棵子樹的高度差不超過 1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 true 解題思路 此題為深度優先搜尋的例題,很適合入門。遞迴,左子樹與右子樹相減,判斷...
leetcode 面試題 04 04 檢查平衡性
實現乙個函式,檢查二叉樹是否平衡。在這個問題中,平衡樹的定義如下 任意乙個節點,其兩棵子樹的高度差不超過 1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,null,4,4 1 2 2 3...