刷題 力扣 面試題 04 04 檢查平衡性

2022-09-21 12:39:11 字數 886 閱讀 7508

題目鏈結

題目描述

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

treedeph用來遞迴計算二叉樹的最大高度

遍歷每一棵二叉樹節點計算子樹的最大高度差

**

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

return std::abs(treedeph(root->left) - treedeph(root->right)) <= 1 && isbalanced(root->left) && isbalanced(root->right);

}private:

int treedeph(treenode* root)

return std::max(treedeph(root->left), treedeph(root->right)) + 1;

}};

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