題目內容:編寫程式判斷給定的二叉樹是否是平衡二叉樹。
輸入
二叉樹的先序序列。
輸出
如果是平衡二叉樹,輸出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...