38.バイナリ画像

 

 ソリューション:私たちは、元のツリー内のすべてのノードを見つけることができますが周りのミラー息子の交換の木です!

だから我々は再帰的に元のツリー内のすべてのノードを横断し、左右の各ノードの息子を交換することができます。

I:再帰的にどのように再帰その後、ツリーのすべてのノードをトラバース?

/ * * 
 。* Aバイナリツリーノードの定義
 *構造体のTreeNode { 
 * INTヴァル; 
 *ツリーノード*左; 
 *ツリーノード*右; 
 *ツリーノード(INT X):ヴァル(X)、左(NULL)、右(NULL) } { 
 *}; 
 * / 
クラスソリューション{
 パブリック無効ミラー(TreeNodeの* ルート){
         IF(!ルート) 
         // 戻り値のNULL;書き込みが間違っている
        リターン
        スワップ(ルート - >左、root->右)。// 交換左サブツリー(ノード)
        / * ツリー内のすべてのノードは、正規化横断してもよい* / 
        ミラー(ルート - > 左)。
        ミラー(ルート - > 右)。
        
        
    } 
}。

 

おすすめ

転載: www.cnblogs.com/make-big-money/p/12307049.html