二叉查詢樹的第 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) {
}
}
【每日寄語】 輕鬆時記得努力,忙碌時別忘了夢想。