二叉查找树的第 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) {}}
【每日寄语】轻松时记得致力,繁忙时别忘了幻想。