プランを受賞 - 59 k番目の最大のノードのバイナリ検索ツリー

タイトル説明

二分探索木を考えると、その中の最初のk小さいノードを検索してください。例えば、(5,3,7,2,4,6,8)と、第3の接続点に係る数値は、4要約です。
 
ソリューション:
  研究では、前順です
  しかし、プルーンに注意を払います
  
1  クラスソリューション{
 2  公共3      のTreeNode KthNode *(* PROOTツリーノード、INT K)
 。4      {
 5          IF(PROOT == nullptr a)に戻りnullptr;
 6          INORDER(PROOT、K);
 7つの         戻りRES;
 。8      }
 。9      ボイド INORDER( * PROOTツリーノード、のconst  int型K)
 10      {
 11。         IF(N> K == || PROOT nullptr A)リターン ; // プルーン境界処理
12は          INORDER(pRoot-> 左、K)。
13          ++ N。
14          であれば(N == K && RES == nullptr)
 15          {
 16              RES = PROOT。
17              リターン;
18          }
 19          INORDER(pRoot-> 右、K)。
20      }
 21  プライベート22      int型のn = 0 23      のTreeNode * RES = nullptr;
24 }。

 

 

おすすめ

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