class Solution {
    public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) {
            if(root==null||root==p||root==q)return root;
            TreeNode left =  lowestCommonAncestor(root.left, p,q);
            TreeNode right =  lowestCommonAncestor(root.right, p,q);
            if(left == null)  return right; 
            if(right == null) return left;
            else return root;                             //左边不空 右边不空 则为公共祖先 root
    }
}