root двоичного дерева. Проверьте, совпадает ли дерево со своим зеркальным отражением относительно вертикальной оси, проходящей через корень.
Иначе говоря, левое поддерево корня должно быть зеркальной копией правого: на симметричных местах стоят вершины с одинаковыми значениями, а там, где с одной стороны вершины нет, её нет и с другой.
Верните True, если дерево симметрично, и False в противном случае.
Попробуйте решить задачу и рекурсивно, и без рекурсии.root=tree_node([7, 5, 5, None, 8, 8]) → True
У левой пятёрки только правый ребёнок 8, у правой — только левый ребёнок 8. В зеркале они совпадают.
root=tree_node([7, 5, 5, 8, None, 8]) → False
Обе восьмёрки — левые дети, поэтому в зеркале левая окажется справа и не совпадёт с пустым местом.
root=tree_node([4]) → True
Дерево из одной вершины симметрично.
Node.val ≤ 100root=tree_node([7, 5, 5, None, 8, 8])
True
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 114 тестов на сервере, включая скрытые.