Given a binary search tree and two values p and q that both exist in it, return the value of their lowest common ancestor - the deepest node having both as descendants.
A node is allowed to be a descendant of itself.
The tree is given as a level-order array with explicit nulls, where the children of index i sit at 2i + 1 and 2i + 2. An empty array is an empty tree.