Given a binary tree and two node values p and q, return the value of their lowest common ancestor (LCA) — the deepest node that has both p and q as descendants (a node can be a descendant of itself).
[2, 10⁴].-10⁹ ≤ Node.val ≤ 10⁹Node.val are unique.p ≠ qp and q will exist in the tree.Recurse left and right; if both return non-null, the current node is the LCA.
3