leetcode 面試題 04 04 檢查平衡性

2021-10-07 06:41:04 字數 815 閱讀 2927

實現乙個函式,檢查二叉樹是否平衡。在這個問題中,平衡樹的定義如下:任意乙個節點,其兩棵子樹的高度差不超過 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 。

思路:左右子樹高度相差不超過1,那麼首先要求樹的高度,這裡單寫乙個函式,使用遞迴實現。然後對於給定的root進行遞迴判斷,判斷每個節點是否都是平衡的。

**如下:

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution

public int getdepth(treenode root)

}

另外 求樹的高度也是一道常見的演算法題,除了遞迴的方法,還可以使用佇列儲存節點的方法去做,這裡貼出**。

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution

}return depth;

}}

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...