バイナリツリーの35後順トラバーサル - のオファーを受賞

タイトル説明

整数配列を入力して、アレイは、バイナリ検索ツリーをトラバースした後決意の結果ではありません。出力がYesであれば、そうでなければ出力号 任意の2つの数の入力配列が異なっていると仮定する。
 
ソリューション:
  その結果行きがけように、この質問は、まず、ソートされた後順の後に得られた前順を考え、その後、組換えバイナリーツリーの後に先行順走査シーケンスを使用して、必ずしも必要ではないが、ツリーのBSTの後順トラバーサル理由それは正しくないかもしれません。
  したがって、後順トラバーサルに従って、直接木の左と右のサブツリーに決定されます。
  
1  クラスソリューション{
 2  公共3      ブール VerifySquenceOfBST(ベクトル< INT > 配列){
 4          もし(sequence.size()== 0を返す 5          リターン isBST(シーケンス、0、sequence.size() - 1 )。
6      }
 7      ブール isBST(ベクトル< 整数 > V、INTを L、INT R)
 8      {
 9          た場合(L> = R)を返す 10          INTルート= V [R&LT];
 11          int型 I = L;
 12は         、一方(V [I] <ルート)++ Iが; // 見つける左サブツリー
13は         int型 J = I;
 14          ながら(J <R&LT)IF( V [J ++] <ルート)リターン falseに ; // 分析右サブツリー
15          リターン isBST(V、L、Iは- 1。)&& isBST(V、I、R&LT - 1。);    
 16      }    
 17 }。

 

おすすめ

転載: www.cnblogs.com/zzw1024/p/11681930.html