解题关键字 "二叉搜索树"

二叉搜索树的第k个结点

http://www.nowcoder.com/questionTerminal/ef068f602dde4d28aab2b210e859150a

解题关键字 "二叉搜索树"

看到二叉搜索树字眼大家脑海要立刻想起,左子节点值<根节点值<右子节点值,中序遍历就是有序列表,那么问题就迎刃而解了。

TreeNode KthNode(TreeNode pRoot, int k)
    {
        ArrayList<TreeNode> result = new ArrayList<>();
        if(pRoot == null || k<=0){
            return null;
        }
        foreach(result,pRoot);
        if(result.size()>=k){
            return result.get(k-1);
        }else{
            return null;
        }
    }

    private void foreach(ArrayList<TreeNode> result, TreeNode node) {

        if(node.left != null){
            foreach(result, node.left);
        }
        result.add(node);
        if(node.right != null){
            foreach(result, node.right);
        }
    }
全部评论

相关推荐

07-15 12:24
重庆大学 运营
坏消息:和好工作擦肩而过
给点吧求求了:怎么可能因为差几秒,估计就是简历更好看婉拒了
点赞 评论 收藏
分享
Gaynes:查看图片
点赞 评论 收藏
分享
写不来代码的小黑:这么小的城市能有做it的公司也不容易
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务