タイトル説明
出力層のノードで左から右へ、上から下に層にバイナリツリーを印刷します。出力層の各ライン。
ソリューション:
BFSを使用して、あなたは層で印刷することができます
1 クラスソリューション{ 2 公共: 3 ベクトル<ベクトル< 整数 >>印刷(ツリーノード* PROOT){ 4 ベクトル<ベクトル< INT >> RES。 5つの BFS(PROOT、RES)。 6 リターンのres; 7 } 8 ボイド BFS(ツリーノード*根、ベクトル<ベクトル< INT >>&RES) 9 { 10 であれば(ルート== nullptr)のリターン; 11 キュー<TreeNodeの*> Q; 12 q.push(ルート)。 13 しばらく(!q.empty()) 14 { 15 キュー<TreeNodeの*> 温度; 16 ベクトル< int型 > V。 17 ながら(!q.empty()) 18 { 19 のTreeNode * P = q.front()。 20 q.pop()。 21 v.push_back(P-> ヴァル) 22 もし(P->左= nullptr!)temp.push(P-> 左)。 23 もし(P->右= nullptr!)temp.push(P-> 右)。 24 } 25 res.push_back(V)。 26 Q = TEMP。 27 } 28 } 29 }。