description:main.c檔案:判斷一棵二叉樹是否對稱。二叉樹節點定義如上次的結構相同:
typedef struct node bn;
不用關心輸入,二叉樹構造和刪除過程已經在main函式中實現,需要你們實現函式
int issymmetric(bn* root);
來判斷一棵二叉樹是否對稱,對稱返回1,非對稱返回0.
node結構要按照上面的**在symmetric.h中進行定義。
注意被測試二叉樹不一定是滿二叉樹。如果樹不存在(根節點指標為空)返回0。如果除根節點外沒有任何的其他節點返回1。
#include
#include
#include"symmetric.h"
#define maxd 50
void buildtree(bn** root)
while
(head != tail)
}void
freetree
(bn* root)
}int
main
()
symmetric.h:
typedef struct node bn;
int ismirror(bn* left, bn* right) else
if (left !=
null
&& right !=
null) else //返回左兒子的左兒子和右兒子的右兒子,左兒子的右兒子和右兒子的左兒子
} else
}int issymmetric(bn* root) else
}
做二叉樹一定要畫個圖惹╮(╯▽╰)╭
判斷二叉樹是否對稱
題目描述 time limit 1000 ms memory limit 256 mb 層次遍歷的方式輸入乙個二叉樹,判斷這個二叉樹的結構 即不用管結點的值 是否映象對稱。輸入輸出格式 輸入描述 輸入一行字母,其中 表示空節點 字母長度小於1000 輸出描述 如果輸入的二叉樹對稱,輸出yes,否則輸...
判斷一顆二叉樹是否為對稱二叉樹
本題源自劍指offer 可以自定以一種對稱前序遍歷,即先遍歷父節點,再訪問右子節點,在訪問左子節點,null節點也訪問,將得到的序列和前序遍歷比較,相同就說明二叉樹是對稱的。遞迴 bool issymmetrical treenode proot bool issymmetricalcore tre...
判斷二叉樹是否是對稱二叉樹
給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3 遞迴實現 需要滿足兩個子樹 根節點值相同 根節點1的左子樹與根節點2右子樹相同 根節點1...