mirror of
https://github.com/20kaushik02/leetcode-gulag.git
synced 2025-12-06 11:34:07 +00:00
37 lines
664 B
C++
37 lines
664 B
C++
#include "soln.hpp"
|
|
|
|
bool Solution::isIdenticalTree(TreeNode *t1, TreeNode *t2)
|
|
{
|
|
if (!t1 || !t2)
|
|
{
|
|
return t1 == nullptr && t2 == nullptr;
|
|
}
|
|
else if (t1->val == t2->val)
|
|
{
|
|
return isIdenticalTree(t1->left, t2->left) && isIdenticalTree(t1->right, t2->right);
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
bool Solution::isSubtree(TreeNode *root, TreeNode *subRoot)
|
|
{
|
|
if (!root)
|
|
{
|
|
return false;
|
|
}
|
|
else if (isIdenticalTree(root, subRoot))
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return isSubtree(root->left, subRoot) || isSubtree(root->right, subRoot);
|
|
}
|
|
}
|
|
|
|
bool Solution::test(TreeNode *root, TreeNode *subRoot, bool answer)
|
|
{
|
|
return isSubtree(root, subRoot) == answer;
|
|
} |