aboutsummaryrefslogtreecommitdiff
path: root/lowest_common_ancestor_bst.cpp
diff options
context:
space:
mode:
authorjack <[email protected]>2024-06-14 13:13:15 -0600
committerjack <[email protected]>2024-06-14 13:13:15 -0600
commitd343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa (patch)
tree96df922dae2a5073d9a50ea70c7aae6aa37e3ebe /lowest_common_ancestor_bst.cpp
downloadleetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.tar.gz
leetcode-d343a3b18dbaca9297d4f7b2280c4a16f0a5c8aa.zip
initial
Diffstat (limited to 'lowest_common_ancestor_bst.cpp')
-rw-r--r--lowest_common_ancestor_bst.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/lowest_common_ancestor_bst.cpp b/lowest_common_ancestor_bst.cpp
new file mode 100644
index 0000000..d496c2c
--- /dev/null
+++ b/lowest_common_ancestor_bst.cpp
@@ -0,0 +1,17 @@
+#include "leetcode.h"
+
+class Solution {
+public:
+ TreeNode *lowestCommonAncestor(TreeNode *root, TreeNode *p, TreeNode *q) {
+ int small = min(p->val, q->val), large = max(p->val, q->val);
+ while (root != nullptr) {
+ if (root->val > large)
+ root = root->left;
+ else if (root->val < small)
+ root = root->right;
+ else
+ return root;
+ }
+ return nullptr;
+ }
+};