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