struct TreeNode* helper(struct TreeNode* root, int o1, int o2){
     if(root == NULL || root->val == o1 || root->val == o2)
        return root;  // 找到空结点,或者找到要目标值时返回当前子树的根结点
     struct TreeNode* p1 = helper(root->left, o1, o2);  //先在左子树找
     struct TreeNode* p2 = helper(root->right, o1, o2); //再在右子树找
     if(p1 == NULL)  //递归左子树结果为空,表示两数都在右子树
         return p2;
     if(p2 == NULL) //递归右子树结果为空,表示两数都在左子树
        return p1;
    return root;  //左子树右子树递归结果都不空时,表示一个在左,一个在右,返回当前根结点
 }
int lowestCommonAncestor(struct TreeNode* root, int o1, int o2 ) {
    int ret = 0;
    ret = helper(root, o1,o2)->val;
    return ret;
}