給定乙個二叉樹,判斷它是否是高度平衡的二叉樹。
本題中,一棵高度平衡二叉樹定義為:
乙個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過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...