反復法:バイナリツリーの前順

ACについての初めての生活、および問題への参照溶液は存在しない(オーバーDSコンテンツが)、皿を叫ぶことです

 

1ベクトル< 整数 > inorderTraversal(ツリーノード* ルート){
 2      ベクトル< 整数 > RES。
3      スタック<TreeNodeの*> 使用しています。
4      もし(!ルート)
 5          リターンのres;
6      一方(use.empty()||!ルート)
 7      {
 8          であれば(ルート)
 9          {
 10              use.push(ルート)。
11              であれば(root-> 左)
 12                  ルート= root-> 左。
13              
14             {
 15                  ルート= use.top()。
16                  use.pop()。
17                  res.push_back(root-> ヴァル)
18                  ルート= root-> 右。
19              }
 20          }
 21          他の
22          {
 23              ルート= use.top()。
24              use.pop()。
25              res.push_back(root-> ヴァル)
26              ルート= root-> 右。
27          }
 28      }
 29      リターン解像度;
30 }

実行時間とメモリの消費量はOK、80%を超えています

おすすめ

転載: www.cnblogs.com/zouma/p/11570726.html