#60 Поиск эквивалентных поддеревьев по множеству букв
Дано бинарное дерево с выделенным корнем, в каждой вершине которого записано по одной букве A-Z. Две вершины считаются эквивалентными,
если поддеревья этих вершин содержат одинаковое множество (т.е. без учета частот) букв. Нужно найти любую пару эквивалентных вершин:
/*
A
/ \
C B
/ \ / \
A D A D
/ \
B C
*/
class TNode {
char value = '\0'; // [A-Z]
TNode left = null;
TNode right = null;
};
Pair<TNode, TNode> findEquivalentSubtrees(TNode root) {
...
}
Разбор вопроса
Войди, чтобы начать диалог
Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти
Доступно с Premium
Это лишь одно из решений, доступных с Premium. А ещё:
- 250+ продвинутых лекций
- 1300+ практических заданий
- 500+ решений задач с реальных собеседований
- Именные сертификаты Java Hub
- Расширенный доступ к AI-ментору