1368 對稱二叉樹 tree c

2021-09-27 01:20:59 字數 865 閱讀 3421

【題目描述】

如果二叉樹的左右子樹的結構是對稱的,即兩棵子樹皆為空,或者皆不空,則稱該二叉樹是對稱的。程式設計判斷給定的二叉樹是否對稱.

例:如下圖中的二叉樹t1是對稱的,t2是不對稱的。

二叉樹用順序結構給出,若讀到#則為空,二叉樹t1=abcde,t2=abcd#e,如果二叉樹是對稱的,輸出「yes」,反之輸出「no」。

【輸入】

二叉樹用順序結構給出,若讀到#則為空。

【輸出】

如果二叉樹是對稱的,輸出「yes」,反之輸出「no」。

【輸入樣例】

abcde

【輸出樣例】

yes【**】

no頭疼,沒啥思路,參考別人的,其實是簡單模擬,對樹的考察很少

1.從下表為1時開始遍歷,每次+2,就會到另一棵子樹的最左邊,

2.一定要注意結尾,你可以在結尾上加上『#』,也可以特判節點(包括根節點)為偶數是輸出no

嘛,主要還是審題不仔細,二叉樹t1=abcde,t2=abcd#e,這是題目給的資訊,他是給空節點了,但是沒有給什麼時候中止,所以可以在結尾上加上』#,因為每次+2只會到最左節點,沒有中止條件,這點沒寫會錯乙個點

#includeusing namespace std;

string str;

int main(){

cin>>str;

int flag=0;

int len=str.size();

str[len] = '#';

; for(int i=1;i參考

101 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。思路 遞迴就用dfs,迭代是b...

20 對稱二叉樹

題目 給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。歷史總是驚人的相似,我遇到這道題還是沒寫出來,但是,網上找到的 瞬間懂了其思路,哎,繼續刷題吧 public static boolean ...

101 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。解題思路 對稱二叉樹可以理解...