Given a binary tree and two nodes p and q, return their lowest common ancestor (LCA) — the deepest node that has both p and q as descendants (a node can be a descendant of itself).
Example: tree [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1 → 3.
3