题解
思路:定义一个全局变量,初值赋予k.中序遍历,每次访问一个,变量–,当该变量为0时,就把val值赋予另一个全局变量返回.
class Solution {
int resKthSmallest=0;
int countKthSmallest;
// 276 t230 二叉搜索树第k小的元素
public int kthSmallest(TreeNode root, int k) {
countKthSmallest=k;
kthSmallestDG(root);
return resKthSmallest;
}
public void kthSmallestDG(TreeNode root) {
if (root==null){
return;
}
kthSmallestDG(root.left);
countKthSmallest--;
if (countKthSmallest==0){
resKthSmallest=root.val;
return;
}
kthSmallestDG(root.right);
}
}