Skip to content

Commit 0f8113c

Browse files
authored
Create solution.cpp
1 parent c104791 commit 0f8113c

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

235.cmmon_ancestor/solution.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
class Solution
2+
{
3+
public:
4+
void haveNode(TreeNode* node, TreeNode* p,TreeNode* q,TreeNode*& out)
5+
{
6+
if (node == NULL || out != NULL)
7+
return;
8+
9+
if ((node->val >= q->val && node->val <= p->val) ||
10+
(node->val <= q->val && node->val >= p->val))
11+
{
12+
out = node;
13+
}
14+
else if (node->val >= q->val && node->val >= p->val)
15+
{
16+
haveNode(node->left, p, q, out);
17+
}
18+
else if (node->val <= q->val && node->val <= p->val)
19+
{
20+
haveNode(node->right, p, q, out);
21+
}
22+
}
23+
24+
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q)
25+
{
26+
TreeNode* node(NULL);
27+
haveNode(root, p, q,node);
28+
return node;
29+
}
30+
};

0 commit comments

Comments
 (0)