説明タイトル
バイナリ検索ツリー所与は、その中にk番目に小さいノードを見つけます。例えば、(5,3,7,2,4,6,8)と、第3の接続点に係る数値は、4要約です。
溶液:順トラバーサルでは、K <= 0考慮し、ここで、kは、ノードの総数よりも大きいです
class Solution {
int cnt = 0;
TreeNode * knode = NULL;
public:
void DFS(TreeNode* pRoot, int k)
{
if (pRoot->left && cnt<k)
DFS(pRoot->left, k);
if (++cnt == k)
knode = pRoot;
if (pRoot->right && cnt<k)
DFS(pRoot->right, k);
}
TreeNode* KthNode(TreeNode* pRoot, int k)
{
if (pRoot==NULL || k <= 0)
return NULL;
DFS(pRoot, k);
return knode;
}
};