Given a binary search tree (BST) and two nodes p and q, return their lowest common ancestor. Use the BST property — at any node, if both p and q are less than node.val, descend left; if both are greater, descend right; otherwise the node is the LCA.
Example: tree [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8 → 6.
6