s0236
All checks were successful
ci/woodpecker/push/test Pipeline was successful

This commit is contained in:
Sainnhe Park 2023-01-31 16:08:05 +08:00
parent e1d3423ee0
commit 837812e599
2 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,11 @@
#ifndef S0236_LOWEST_COMMON_ANCESTOR_OF_A_BINARY_TREE_HPP
#define S0236_LOWEST_COMMON_ANCESTOR_OF_A_BINARY_TREE_HPP
#include "structures.hpp"
class S0236 {
public:
TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q);
};
#endif

View File

@ -0,0 +1,17 @@
#include "s0236_lowest_common_ancestor_of_a_binary_tree.hpp"
TreeNode* S0236::lowestCommonAncestor(TreeNode* root, TreeNode* p,
TreeNode* q) {
if (root == nullptr || root == p || root == q) return root;
TreeNode* left = lowestCommonAncestor(root->left, p, q);
TreeNode* right = lowestCommonAncestor(root->right, p, q);
if (left != nullptr && right != nullptr) {
return root;
} else if (left != nullptr) {
return left;
} else if (right != nullptr) {
return right;
} else {
return nullptr;
}
}