3. Given the BST below and
k = 3, what will the following C# code print?
class TreeNode {
public int val;
public TreeNode left, right;
public TreeNode(int v) { val = v; }
}
// BST structure:
// 5
// / \
// 3 7
// / \ \
// 2 4 8
int KthSmallest(TreeNode root, int k) {
List<int> vals = new List<int>();
void Inorder(TreeNode node) {
if (node == null) return;
Inorder(node.left);
vals.Add(node.val);
Inorder(node.right);
}
Inorder(root);
return vals[k - 1];
}
TreeNode root = new TreeNode(5);
root.left = new TreeNode(3);
root.right = new TreeNode(7);
root.left.left = new TreeNode(2);
root.left.right = new TreeNode(4);
root.right.right = new TreeNode(8);
Console.WriteLine(KthSmallest(root, 3));