二叉搜索树两个节点的最近公共祖先
思路是 根据二叉搜索树的特性,左子树小于根节点小于右子树,若节点的值都小于两个目标节点,则遍历其右子树;若大于两个目标节点,则遍历其左子树;
但是测试用例只能通过15%,请问大佬是什么原因呢
class Solution {
public:
/**
*
* @param root TreeNode类
* @param o1 int整型
* @param o2 int整型
* @return int整型
*/
int lowestCommonAncestor(TreeNode* root, int o1, int o2) {
if(root == nullptr || root->val == o1 || root->val == o2)
return root->val;
if(root->val > o1 && root->val> o2)
return lowestCommonAncestor(root->left,o1,o2);
else if(root->val <o1 && root->val <o2)
return lowestCommonAncestor(root->right,o1,o2);
else
return root->val;
}
};
海康威视公司氛围 1020人发布