import java.util.*;
/*
- public class TreeNode {
- int val = 0;
- TreeNode left = null;
- TreeNode right = null;
- } */
public class Solution { /** * * @param root TreeNode类 * @param o1 int整型 * @param o2 int整型 * @return int整型 */ public int lowestCommonAncestor (TreeNode root, int o1, int o2) { TreeNode left = isEqual(root.left, o1, o2); TreeNode right = isEqual(root.right, o1, o2); if(left!=null && right!=null) return root.val; if(left!=null && right==null) return left.val; if(right!=null && left==null) return right.val;
return -1;
}
public TreeNode isEqual(TreeNode root,int o1,int o2) {
if(root == null) return null;
if(root.val==o1 || root.val==o2) return root;
TreeNode left = isEqual(root.left, o1, o2);
TreeNode right = isEqual(root.right, o1, o2);
if(left!=null && right!=null) return root;
if(left!=null && right==null) return left;
if(right!=null && left==null) return right;
return null;
}
}