Условие задачи

Даны корни двух бинарных деревьев root и subRoot. Необходимо вернуть true, если в дереве root есть поддерево с такой же структурой и значениями узлов как в subRoot, и false в противном случае.

Поддерево бинарного дерева - это дерево, состоящее из узла в дереве и всех его потомков. Дерево tree также может рассматриваться как поддерево самого себя.

Примеры

Пример 1

Ввод

root = [3,4,5,1,2], subRoot = [4,1,2]

Вывод

true

Объяснение

В дереве root можно найти поддерево с узлами [4,1,2], которое является идентичным subRoot.

Пример 2

Ввод

root = [3,4,5,1,2,null,null,null,null,0], subRoot = [4,1,2]

Вывод

false

Объяснение

В дереве root нет поддерева, идентичного subRoot.

Решение

Для решения задачи мы будем использовать рекурсию.