230. 二叉搜索树中第K小的元素
这道题考察二叉树中序遍历知识点
中序遍历将数值从小到大进行输出,查找第K小的元素则是指输出中序遍历中的第K个元素。
代码实现
class Solution {
int k, ans;
public int kthSmallest(TreeNode root, int _k) {
k = _k;
dfs(root);
return ans;
}
private boolean dfs(TreeNode root) {
if (root == null) return false;
if (dfs(root.left)) return true;
if (-- k == 0) {
ans = root.val;
return true;
}
return dfs(root.right);
}
}