public static 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 && right == null) { // 若未找到节点 p 或 q
return null;
}else if(left==null&&right!=null) return right;
else if(left!=null&&right==null) return left;
else
return root;
}