対称ツリー:
=================== // 再帰アルゴリズム =========================== // ==
1.としては、すぐにpRoot.leftとして対称とpRoot.rightです
2.左ノード
等しい値
と
対称サブツリー
left.left、right.right; right.left left.rigth、
また対称
/ * パブリッククラスツリーノード{ int型のval = 0; TreeNodeのは左= NULLを。 ツリーノードを右= NULL; 公共のTreeNode(int型のval){ this.val =ヴァル。 } } * / パブリック クラスソリューション{ パブリック ブール・ジュード(ツリーノードノード1、ノード2ツリーノード){ 場合(ノード1 == NULL && NODE2 == NULL ){ 戻り 真。 } それ以外の 場合(ノード1 == nullの ||ノード2 == nullの) リターン はfalse ; もし(!node1.val = node2.val) のリターン はfalse ; 他{ リターンジュード(node1.left、node2.right)&& ジュード(node1.right、node2.left)。 } } パブリック ブールisSymmetrical(ツリーノードPROOT) { リターン PROOT == NULL || ジュード(pRoot.left、pRoot.right)。 } }
// =================== 非再帰的アルゴリズム、DFSとBFSの使用 ===================== ======== //