给定一棵二叉搜索树,请找出其中的第k小的结点。例如, (5,3,7,2,4,6,8) 中,按结点数值大小顺序第三小结点的值为4。
思路
参见 LeetCode-Tree-230-M:二叉搜索树中第K小的元素
解法
class Solution {
int value = 0, k1=0;
public int kthSmallest(TreeNode root, int k) {
//inOrder + count
k1 = k;
kthSmallest2(root);
return value;
}
void kthSmallest2(TreeNode root) {
if(root == null){
return ;
}
kthSmallest2(root.left);
k1--;
if(k1 == 0){
value = root.val;
}
kthSmallest2(root.right);
}
}