題目詳見:
二叉樹結構定義
// definition for a binary tree node.
struct treenode
};
1 bfs
思路:將每一層的資料存入佇列中,按照左邊的左邊與右邊的右邊相等、左邊的右邊與右邊的左邊進行比較判斷。
bool issymmetric(treenode* root)
return 1;
}
2 dfs
思路:深度遍歷最左和最右的部分,並將資料依次存入棧中,從兩側向中間依次比較
bool issymmetric(treenode* root) else
}return true;
}
3 遞迴
思路:遞迴的方式和bfs的思路是一致的,通過遞迴的方式進行表達
bool issymmetric(treenode* root)
bool cmp(treenode* left,treenode* right)
解答參考: 遞迴 對稱二叉樹
原題傳送門 說點題外話,這道題是noip2019 pjt4,被稱作有史以來最簡單的t4,然而.我這個小蒟蒻當時只得了4分 直接輸出1 現在回想起來,覺得自己那時是真的智障啊,最可氣的是,這道題一讀題就可以發現結果很容易為3,哪怕完全不會,直接輸出3也明顯比直接輸出1要好啊 事實證明,直接輸出3的得分...
對稱二叉樹(遞迴 迭代)
給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 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說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。寫乙個遞迴函式,當且僅當兩個節...
演算法 遞迴 對稱二叉樹
根據對稱樹的特點,我們用兩個指標分別往左子節點和右子節點遞迴查詢 每次查詢時比較他們是否都為空,如果都不為空就比較是否值相等 如果值相等,就繼續檢查左節點的左節點和右節點的右節點 左節點的右節點和右節點的左節點 只要都相同就說明對稱,否則不對稱 我們使用乙個佇列,根據對稱樹的特點,每次分別將左子節點...