n узлов с номерами от 0 до n - 1, корень — узел 0. Оно задано массивом parent: parent[i] — родитель узла i, а parent[0] = -1. На каждом узле написана буква: у узла i это labels[i].
*Прочитать* поддерево узла v — значит выписать подряд прочтения поддеревьев всех детей v в порядке возрастания их номеров, а в самом конце дописать букву самого v.
Верните массив n логических значений: i-й равен True, если прочтение поддерева узла i — палиндром, и False иначе.
Прочитать каждое поддерево отдельно слишком долго для больших деревьев — придумайте способ быстрее.parent=[-1, 0, 1, 1], labels="zaac" → [False, True, True, True]
Узел 1 читается как a (узел 2), c (узел 3), a (сам) — aca, палиндром. Корень даёт acaz — не палиндром. Листья 2 и 3 — по одной букве.
parent=[-1, 0, 0], labels="aba" → [False, True, True]
Корень читается как b, a, затем свой a — baa, не палиндром.
parent=[-1, 2, 0, 2], labels="cqcq" → [False, True, False, True]
parent задаёт корректное деревоlabels состоит из строчных латинских буквparent=[-1, 0, 1, 1], labels="zaac"
[False, True, True, True]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 17 тестов на сервере, включая скрытые.