二叉搜索树的第k个结点
Posted MarkLeeBYR
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉搜索树的第k个结点相关的知识,希望对你有一定的参考价值。
题目描述
TreeNode KthNode(TreeNode pRoot, int k) {
if(count > k || pRoot == null)
return null;
TreeNode p = pRoot;
Stack<TreeNode> stack = new Stack<>();
TreeNode kthNode = null;
stack.push(pRoot);
while(!stack.isEmpty()){
TreeNode tn = stack.peek();
while(tn != null){
tn = tn.left;
stack.push(tn);
}
stack.pop();
if (!stack.isEmpty()) {
tn = stack.pop();
count++;
if (count == k)
kthNode = tn;
stack.push(tn.right);
}
}
return kthNode;
}
以上是关于二叉搜索树的第k个结点的主要内容,如果未能解决你的问题,请参考以下文章