Эквивалентные поддеревья

средне

Дан корень бинарного дерева root, в каждой вершине которого записана одна буква A–Z.

Нужно найти две вершины, поддеревья которых содержат одинаковое множество букв (без учёта частот) и при этом сумма количества вершин в этих двух поддеревьях максимальна.

Верните корни найденных поддеревьев.

Пример 1:

Ввод: root = [A,B,E,D,E,B,null,F,null,null,null,D,F]
Вывод: [B,E] или [E,B]
Объяснение: порядок вывода не имеет значения

Пример 2:

Ввод: root = [A,A,A,A]
Вывод: [A,A]
Объяснение: одна из вершин может находиться в поддереве другой

Пример 3:

Ввод: root = [A,B,C]
Вывод: [null,null]
Объяснение: если ответ не найден, то возвращаем два пустых указателя

Ограничения:

  • Число узлов в дереве >= 1
  • Высота дерева <= 1000