二叉搜索树的第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;
    }
}
上一篇下一篇

猜你喜欢

热点阅读