Closest value in BST

Write codeMedium20 minMeta style

Your task

Given a binary search tree as a level-order array arr (null for missing) and an integer target, return the node value closest to target. If two values are equally close, return the smaller one. The tree is a valid, non-empty BST. 1 <= node count <= 100000.

Examples

closest_bst_value(arr: list[int], target: int) -> int
Example 1
Inputclosest_bst_value([4, 2, 5, 1, 3], 3)
Output3