二叉搜索树的第k个结点
2018-08-30 本文已影响18人
稀饭粥95
给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4
public class Solution {
public int number = 0;
public TreeNode node = null;
public void preNode(TreeNode pRoot,int k){
if(pRoot!=null){
preNode(pRoot.left,k);
number++;
if(number ==k){
node = pRoot;
}
preNode(pRoot.right,k);
}
}
TreeNode KthNode(TreeNode pRoot, int k)
{
preNode(pRoot,k);
return node;
}
}