lintcode 93 平衡二叉樹

2022-03-29 17:57:51 字數 744 閱讀 4952

給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是:一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。

您在真實的面試中是否遇到過這個題? yes

樣例

給出二叉樹 a=, b=

二叉樹a是高度平衡的二叉樹,但是b不是

標籤分治法 遞迴

思路

採用遞迴的方式,判斷某個結點的平衡因子(左右子樹高度差)是否大於1,若平衡因子大於1,則其一定不是平衡二叉樹,否則,繼續判斷。

code

/**

* definition of treenode:

* class treenode

* }*/class solution

int issubtreebalanced(treenode *root)

int left = issubtreebalanced(root->left);

int right = issubtreebalanced(root->right);

if(left == -1 || right == -1 || abs(left - right) > 1)

else }};

lintcode 93 平衡二叉樹

平衡二叉樹 給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是 一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。您在真實的面試中是否遇到過這個題?yes樣例給出二叉樹 a b a 3 b 3 9 20 20 15 7 15 7二叉樹a是高度平衡的二叉樹,但是b不是 標...

93 平衡二叉樹

給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是 一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。樣例 1 輸入 tree 輸出 true 樣例解釋 如下,是乙個平衡的二叉樹。1 2 3 樣例 2 輸入 tree 輸出 true 樣例解釋 如下,是乙個平衡的二叉樹。...

平衡二叉樹 LintCode

描述 給定乙個二叉樹,確定它是高度平衡的。對於這個問題,一棵高度平衡的二叉樹的定義是 一棵二叉樹中每個節點的兩個子樹的深度相差不會超過1。樣例 給出二叉樹 a b a 3 b 3 9 20 20 15 7 15 7二叉樹a是高度平衡的二叉樹,但是b不是。思路 如果想要判斷是否是平衡二叉樹,則要判斷每...