欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

[LeetCode][LCR 193] 二叉搜索树的最近共同祖先

最编程 2024-03-14 22:13:57
...
class Solution { public: TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) { if(p->val > q->val) swap(p, q); // 保证 p 的值小于等于 q 的值 if(p->val <= root->val && q->val >= root->val) return root; // 如果 p、q 分别在 root 的两侧,说明 root 就是最近公共祖先 if(q->val < root->val) return lowestCommonAncestor(root->left, p, q); // 如果 p、q 都在 root 的左侧,则递归左子树 if(p->val > root->val) return lowestCommonAncestor(root->right, p, q); // 如果 p、q 都在 root 的右侧,则递归右子树 return nullptr; // 默认情况下返回空指针 } };