平衡二叉樹的判定

2021-09-21 01:10:02 字數 747 閱讀 1964

題目內容:編寫程式判斷給定的二叉樹是否是平衡二叉樹。

輸入

二叉樹的先序序列。

輸出

如果是平衡二叉樹,輸出yes!,否則輸出no!

樣例輸入

ab##c##

樣例輸出

yes!

下面來看**:

#include #include using namespace std;

struct tree;

void init(tree *&l)//先序遍歷建立二叉樹

else }

void high(tree *&l)//求樹的高度

else if(l->l==null&&l->r!=null)

else if(l->l!=null&&l->r!=null)

else

} }}

int t=1;//立乙個flag

void judge(tree *&l)

else if(l->l!=null&&l->r==null)

else if(l->l==null&&l->r!=null)

judge(l->l);

judge(l->r);

} }}int main()

else

return 0;

}

平衡二叉樹的判定

題目描述 輸入一棵二叉樹的根結點,判斷該樹是不是平衡二叉樹。如果某二叉樹中任意結點的左右子樹的深度相差不超過1,那麼它就是一棵平衡二叉樹。2.1 方法一 思路 在遍歷樹的每乙個節點的時候,呼叫treedepth函式得到它的左右子樹的深度,如果每個節點的左右子樹的深度相差都不超過1,那麼按照定義它就是...

Leetcode 平衡二叉樹判定

判斷給定的二叉樹是否是平衡的 在這個問題中,定義平衡二叉樹為每個節點的左右兩個子樹高度差的絕對值不超過1的二叉樹 思路 一棵樹是平衡二叉樹 那麼對於root節點 其左右子樹都是平衡二叉樹 並且root左右子樹高度之差不大於1 在遞迴返回的時候,順帶返回高度,並且一旦出現不平衡的情況,立即結束整個判斷...

二叉樹深度和平衡二叉樹的判定

對於二叉樹的深度的求解,利用遞迴的方式求解很簡單 下面就來設計這個遞迴演算法 要求乙個節點的高度,先求左子樹的高度,然後再求解右子樹的高度。最後樹的高度就是1 max left depth,right depth int leftlen depth tree root left int rightl...