Kth Smallest Element in BST - rFronteddu/general_wiki GitHub Wiki
Given the root of a binary search tree, and an integer k, return the kth smallest value (1-indexed) of all the values of the nodes in the tree.
class Solution {
private int count = 0;
private int result = 0;
public int kthSmallest(TreeNode root, int k) {
inOrderTraversal(root, k);
return result;
}
private void inOrderTraversal(TreeNode node, int k) {
if (node == null) {
return;
}
// Traverse the left subtree
inOrderTraversal(node.left, k);
// Increment the count when visiting the node
count++;
// Check if we have found the k-th smallest element
if (count == k) {
result = node.val;
return;
}
// Traverse the right subtree
inOrderTraversal(node.right, k);
}
}