JZ-062-二叉查找树的第 K 个结点

二叉查找树的第 K 个结点

题目描述

给定一棵二叉搜索树,请找出其中的第k小的结点。

题目链接: 二叉查找树的第 K 个结点

代码

/**
 * 标题:二叉查找树的第 K 个结点
 * 题目描述
 * 给定一棵二叉搜索树,请找出其中的第k小的结点。
 * 题目链接:
 * https://www.nowcoder.com/practice/ef068f602dde4d28aab2b210e859150a?tpId=13&&tqId=11215&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking
 */
public class Jz62 {

    private TreeNode result;
    private int cnt;

    /**
     * 中序遍历
     *
     * @param pRoot
     * @param k
     * @return
     */
    TreeNode kthNode(TreeNode pRoot, int k) {
        inOrder(pRoot, k);
        return result;
    }

    private void inOrder(TreeNode root, int k) {
        if (root == null || cnt >= k) {
            return;
        }
        inOrder(root.left, k);
        cnt++;
        if (cnt == k) {
            result = root;
        }
        inOrder(root.right, k);
    }

    public static void main(String[] args) {

    }
}

【每日寄语】 轻松时记得努力,忙碌时别忘了梦想。

posted @   醉舞经阁  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示