Сложность: easy
Даны корни двух бинарных деревьев p и q. Напишите функцию, чтобы проверить, одинаковы ли они.
Два бинарных дерева считаются одинаковыми, если они структурно идентичны, и узлы имеют одинаковые значения.
Пример:
Input: p = [1,2,3], q = [1,2,3] Output: true
👨💻 Алгоритм:
1⃣Если оба узла равны null, значит на этом участке деревья одинаковы.
2⃣Если один из узлов равен null, а второй — нет, или значения узлов различаются, значит деревья не равны.
3⃣Рекурсивно проверьте левое и правое поддерево.
😎 Решение:
class Solution {
public:
bool isSameTree(TreeNode* p, TreeNode* q) {
if (!p && !q) return true;
if (!q || !p) return false;
if (p->val != q->val) return false;
return isSameTree(p->right, q->right) && isSameTree(p->left, q->left);
}
};Ставь 👍 и забирай 📚 Базу знаний
