剑指offer 54

题目描述

二叉搜索树的第 K 个结点

题解

使用中序遍历即可

private TreeNode ret;
private int cnt = 0;

public TreeNode KthNode(TreeNode pRoot, int k)
{
    inOrder(pRoot, k);
    return ret;
}

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

你可能感兴趣的:(编码)