package main
import . "nc_tools"
/*
 * type TreeNode struct {
 *   Val int
 *   Left *TreeNode
 *   Right *TreeNode
 * }
 */

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param root TreeNode类 
 * @param o1 int整型 
 * @param o2 int整型 
 * @return int整型
*/
func lowestCommonAncestor( root *TreeNode ,  o1 int ,  o2 int ) int {
    if root==nil {return -1}
    if root.Val==o1 {
        o1=-1
        return root.Val
    }else if root.Val==o2{
        o2=-1
        return root.Val
    }
    left:=lowestCommonAncestor(root.Left, o1, o2)
    right:=lowestCommonAncestor(root.Right, o1, o2)
    if left!=-1 && right !=-1{
        return root.Val
    }else if left!=-1{
        return left
    }else if right!=-1{
        return right
    }else {
        return -1
    }
}