剑指Offer62:二叉搜索树的第k个结点

题目:给定一棵节点数为 n 二叉搜索树,请找出其中的第 k 小的TreeNode结点。

解法:用中序遍历,遍历的第n的个节点就是第k小的。

public class Solution {
    private TreeNode result;
    private int count;
    TreeNode KthNode(TreeNode pRoot, int k) {
        if(pRoot == null || k == 0)
            return null;
        getKMin(pRoot,k);
        return result;
    }
    
    
    void getKMin(TreeNode pRoot, int k){
        if(pRoot == null || count >= k)
            return;
        getKMin(pRoot.left,k);
        count ++;
        if (count == k)
            result = pRoot;
        getKMin(pRoot.right,k);
    }
}
上一篇:XXL-JOB分布式任务调度平台


下一篇:3.测序SRA数据下载