【剑指offer】二叉搜索树的第k个结点

二叉搜索树的第k个结点

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

二叉搜索树的中序遍历就是树节点值的递增排列!

// 注意当搜到第k个节点时,如何终止继续向下的无用搜索?
public class Solution {

    TreeNode treeNode = null;
    int count = 0;

    void dfs(TreeNode pRoot, int k) {

        if (count < k && pRoot.left != null) {
            dfs(pRoot.left, k);
        }

        if (++count == k) {
            treeNode = pRoot;
        }

        if (count < k && pRoot.right != null) {
            dfs(pRoot.right, k);
        }
    }

    TreeNode KthNode(TreeNode pRoot, int k) {
        if (pRoot == null || k <= 0) {
            return null;
        }

        dfs(pRoot, k);
        return treeNode;
    }
}
全部评论
void recur(ArrayList<treenode> list,TreeNode root,int k){ if(root == null || list.size()>=k){ return; }else{ recur(list,root.left,k); list.add(root); recur(list,root.right,k); } }</treenode>
点赞 回复 分享
发布于 2021-03-11 20:19

相关推荐

待现的未见之事:起码第一句要把自己的优势说出来吧。比如什么xx本27届学生,随时到岗....
点赞 评论 收藏
分享
牛客ID:561366855:期望薪资多少?难以相信这简历找不到工作。说明二本电子信息专业想对口就业非常难。
点赞 评论 收藏
分享
评论
17
1
分享

创作者周榜

更多
牛客网
牛客企业服务