101対称バイナリツリー(深い検索)

反復は不可能反復的です

1  / * *
 2  分木のノードのための*の定義。
3  *構造体のTreeNode {
 4  * INTヴァル。
5  *のTreeNode *左;
6  *のTreeNode *右;
7  *ツリーノード(INT X):ヴァル(x)は、左(NULL)、右(NULL){}
 8  *}。
9   * / 
10  クラスソリューション{
 11  公共12      ブールフラグ= // 判断标志
13      BOOL isSymmetric(TreeNodeの* ルート){
 14          もし(!ルート)の復帰 1;
 15          DFS(ディレクトリroot->左、ディレクトリroot-> 右)
 16          リターンフラグに;
 17      }
 18は、     空隙 DFS(L *ツリーノード、ツリーノード* R&LT){
 19          IF(FLAG || L &&でR&LT !!!)に戻ります ; / / プルーン
20は          IF(L-L || R&LT ||>ヴァル= R->ヴァル!!!){ // 非対称分析
21は              、フラグ= falseに22は             戻り23である         }
 24が          DFS(L->左、 R->右); // 対称検索コンパレータ
25          DFS(L->右、R->左);    
26      }
 27 }。


 

 

 

おすすめ

転載: www.cnblogs.com/NiBosS/p/11954113.html