バイナリ検索ツリーノードk番目

1  / * 
2  構造体のTreeNode {
 3      int型のval;
4      構造体のTreeNode *左;
5      右側の構造体のTreeNode *;
6      ツリーノード(int型X):
 7              左のval(X)、(NULL)、右(NULL){
 8      }
 9  }。
10  * / 
11  クラスソリューション{
 12  公共13      のTreeNode * KthNode(ツリーノード* PROOT、int型K)
 14      {
 15          であれば(!PROOT)戻りnullptr。
16          ベクトル<TreeNodeの*> のres;
17          Sortnode(PROOT、RES)。
18          もし(K <= 0 || K> res.size())戻りnullptr。
19の         
20          戻り RES [K- 1 ]。
21      }
 22      空隙 Sortnode(ツリーノード*根、ベクトル<ツリーノード*>&VEC){
 23          であれば(ルート!)のリターン;
24          Sortnode(root-> 左、VEC)。
25          vec.push_back(ルート)。
26          Sortnode(root-> 右、VEC)。
27      }
 28 }。

 

おすすめ

転載: www.cnblogs.com/pacino12134/p/11266427.html
おすすめ