Acwing43トップダウンからバイナリ木の枝を印刷しません

住所  https://www.acwing.com/problem/content/description/41/

二分木の各ノードは、左から右に同じ一つのノードのプリント注文のプリントアウトから下向き。

サンプル

示されるように、バイナリ入力[ 8122NULLNULL6ヌル4NULLNULLNULL ]
     8 
   / \
   12   2 
     / 6 
   / 4 
出力:[ 812264 ]
    
  

 

BFS典型的な例

/ * * 
 *バイナリツリーノードの定義。
 *構造体のTreeNode { 
 * INTヴァル。
 *のTreeNode *左; 
 *のTreeNode *右; 
 *ツリーノード(int型X):(NULL)左のval(X)、右(NULL){} 
 *}。
 * / 
クラスソリューション{
 パブリック
    ベクトル < int型 > のres; 
    キュー <TreeNodeの*> QUE。
    
    BFS()
    { 
        (!que.empty()){ 
            のTreeNode * P = que.front(); 
            que.pop(); 
            res.push_backた(p - >ヴァル);
            もし(!p型>左= NULL)
                que.pushた(p - > 左)。
            もし(!p型>右= NULL)
                que.pushた(p - > 右)。
        } 
    } 
    
    
    ベクトル < INT > printFromTopToBottom(ツリーノード*のルート){
         場合(ルート== NULL)戻りRES。
        que.push(ルート)。
        BFS(); 
        
        リターンのres; 
    } 
}。

 

おすすめ

転載: www.cnblogs.com/itdef/p/11331044.html