判斷是否為對稱二叉樹

2021-07-09 10:25:02 字數 992 閱讀 7195

description:

判斷一棵二叉樹是否對稱。二叉樹節點定義如上次的結構相同:

typedef struct node bn;

不用關心輸入,二叉樹構造和刪除過程已經在main函式中實現,需要你們實現函式

int issymmetric(bn* root);

來判斷一棵二叉樹是否對稱,對稱返回1,非對稱返回0.

node結構要按照上面的**在symmetric.h中進行定義。

注意被測試二叉樹不一定是滿二叉樹。如果樹不存在(根節點指標為空)返回0。如果除根節點外沒有任何的其他節點返回1。

main.c檔案:

#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...