1、链接:二叉搜索树的第k个结点
来源:牛客网
给定一颗二叉搜索树,请找出其中的第k大的结点。例如, 5 / \ 3 7 /\ /\ 2 4 6 8 中,按结点数值大小顺序第三个结点的值为4。
2、思路:中序遍历
3、代码:
public class KthNode {
int pos = 0;
TreeNode res = null;
boolean isContine = true;
TreeNode KthNode(TreeNode pRoot, int k){
if(pRoot == null)
return null;
if(pRoot.left != null && isContine)
KthNode(pRoot.left, k);
pos ++;
if(pos == k){
isContine = false;
res = pRoot;
return res;
}
if(pRoot.right != null && isContine)
KthNode(pRoot.right, k);
return res;
}
}