Given a binary search tree root and two nodes p and q, return their lowest common ancestor.
root
p
q
The lowest common ancestor is the deepest node that is an ancestor of both nodes, and a node can be its own ancestor.
Given a binary search tree `root` and two nodes `p` and `q`, return their lowest common ancestor.