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 } }