2019-01-17 Day12

來源:LeetCode

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

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

一個二叉樹每個節(jié)點 的左右兩個子樹的高度差的絕對值不超過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 。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x), left(NULL), right(NULL) {}
 * };
 */
class Solution {
public:
    bool isBalanced(TreeNode* root) {
        int length ;
        return isTreeBalanced( root , length );
    }
    
    bool isTreeBalanced( TreeNode * root , int& length )
    {
        if( root == NULL )
        {
            length = 0 ;
            return true ;
        }
        int left = 0;
        if( !isTreeBalanced(root ->left ,left ) )
        {
             return false;   
        }
        int right = 0;
        if( !isTreeBalanced (root -> right ,right) )
        {
            return false;
        }
        length = left > right ? left +1 : right +1;
        return abs( left - right ) < 2 ? true : false ; 
    }
    
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 目錄 1、什么是樹 2、相關(guān)術(shù)語 3、二叉樹 3.1、二叉樹的類型 3.2、二叉樹的性質(zhì) 3.3、二叉樹的結(jié)構(gòu) 3...
    我哈啊哈啊哈閱讀 2,709評論 0 10
  • 本文首發(fā)于我的個人博客:尾尾部落 0. 幾個概念 完全二叉樹:若二叉樹的高度是h,除第h層之外,其他(1h-1)層...
    繁著閱讀 3,251評論 3 49
  • 一些概念 數(shù)據(jù)結(jié)構(gòu)就是研究數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)以及它們之間相互關(guān)系,并對這種結(jié)構(gòu)定義相應(yīng)的運算,而且確保經(jīng)過這...
    Winterfell_Z閱讀 6,605評論 0 13
  • 樹的概述 樹是一種非常常用的數(shù)據(jù)結(jié)構(gòu),樹與前面介紹的線性表,棧,隊列等線性結(jié)構(gòu)不同,樹是一種非線性結(jié)構(gòu) 1.樹的定...
    Jack921閱讀 4,764評論 1 31
  • 讓我先看看我昨天的事情做到了幾件。 ummm幾乎沒有。 今天有點糟糕??赡苁莿偣ぷ鲿r間沒調(diào)過來。單詞背的時間很短,...
    流墨風(fēng)影閱讀 199評論 0 0

友情鏈接更多精彩內(nèi)容