程序员面试金典 - 面试题 04.04. 检查平衡性(二叉树高度)
生活随笔
收集整理的這篇文章主要介紹了
程序员面试金典 - 面试题 04.04. 检查平衡性(二叉树高度)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
實現一個函數,檢查二叉樹是否平衡。在這個問題中,平衡樹的定義如下:任意一個節點,其兩棵子樹的高度差不超過 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 。2. 解題
class Solution { public:bool isBalanced(TreeNode* root) {bool ans = true;check(root, ans);return ans;}int check(TreeNode* root, bool& bal){if(!root || !bal)return 0;int l = check(root->left, bal);int r = check(root->right, bal);if(abs(l-r)>1)bal = false;return max(l,r)+1;} };總結
以上是生活随笔為你收集整理的程序员面试金典 - 面试题 04.04. 检查平衡性(二叉树高度)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 890. 查找和替换模
- 下一篇: LeetCode 204. 计数质数(质