leetcode/src/s0235_lowest_common_ancesto...

16 lines
476 B
C++

#include "s0235_lowest_common_ancestor_of_a_binary_search_tree.hpp"
TreeNode* S0235::lowestCommonAncestor(TreeNode* root, TreeNode* p,
TreeNode* q) {
TreeNode* result = root;
while (!((p->val <= result->val && q->val >= result->val) ||
(q->val <= result->val && p->val >= result->val))) {
if (p->val < result->val) {
result = result->left;
} else {
result = result->right;
}
}
return result;
}