【題目描述】
如果二叉樹的左右子樹的結構是對稱的,即兩棵子樹皆為空,或者皆不空,則稱該二叉樹是對稱的。程式設計判斷給定的二叉樹是否對稱.
例:如下圖中的二叉樹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說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。解題思路 對稱二叉樹可以理解...