# Lowest Common Ancestor of a Binary Tree

Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.

According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes v and w as the lowest node in T that has both v and w as descendants (where we allow a node to be a descendant of itself).”

For example, the lowest common ancestor (LCA) of nodes 5 and 1 is 3. Another example is LCA of nodes 5 and 4 is 5, since a node can be a descendant of itself according to the LCA definition.

• leftright都非空，那么说明root节点就是lowestCommonAncestor，那我们就返回root
• 只有left非空，那么说明lowestCommonAncestor在左子树中,那么我们就返回left
• 只有right非空，与上面类似，我们就直接返回right
• 两个都是空，说明pq都不在这棵子树中，那其lowestCommonAncestor就是nullptr.

• rootnullptr,那么就说明到了最底部了，直接返回nullptr即可
• rootpq相等,说明我们找到了其一个祖先，则返回pq.

emmmm，但是上面的解法是过了测试的。