LeetCode第110題 平衡二叉樹

2021-09-10 07:19:59 字數 899 閱讀 8020

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。

本題中,一棵高度平衡二叉樹定義為:

乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過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的也是平衡二叉樹。

當左右子樹都平衡時,進一步判斷當前節點是否平衡。

當左右子樹不都平衡時,顯然不是平衡二叉樹。

待完善

/**

* definition for a binary tree node.

* struct treenode

* };

*/class solution

//左右子樹不全平衡

return false;

}//計算二叉樹的高度

int height(treenode* root)

};

待完善

待完善收藏

LeetCode第110題 平衡二叉樹

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7 返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,n...

LeetCode刷題之路 110 平衡二叉樹

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1 示例 1 輸入 root 3,9,20,null,null,15,7 輸出 true 示例 2 輸入 root 1,2,2,3,3,null,null,4,4...

110 平衡二叉樹 leetcode

給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。本題中,一棵高度平衡二叉樹定義為 乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過1。示例 1 給定二叉樹 3,9,20,null,null,15,7 3 9 20 15 7返回 true 示例 2 給定二叉樹 1,2,2,3,3,null,nu...