ツリー3:バイナリツリーは対称でないかを決定するために使用され、機能を実装してください。なお、二値画像は、左右対称のように定義されているのと同じでこのバイナリツリーは、ある場合

対称ツリー:

 

 

=================== // 再帰アルゴリズム =========================== // ==

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の使用 ===================== ======== //

 

おすすめ

転載: www.cnblogs.com/xuechengmeigui/p/12631325.html