---
round: 3
ticket_no: 23
source_no: 27
slug: symmetric-tree
topic: Tree
difficulty: Easy
leetcode_id: 101
attempted: true
score:
verdict:
reviewed_at:
---

# Билет 23 — Symmetric Tree

## Условие (как предъявлено)

Дан корень бинарного дерева `root`. Проверьте, является ли дерево симметричным относительно своего центра.

```
Input:  root = [1,2,2,3,4,4,3]        →  Output: true
Input:  root = [1,2,2,null,3,null,3]  →  Output: false
```

Constraints: количество узлов в дереве находится в диапазоне `[1, 1000]`; `-100 <= Node.val <= 100`.

## Ответ

> Значит, дерево является симметричным, если у нас левая часть является отражением правой. Поэтому нужно написать вот такой метод проверки: как бы, что одно дерево является отражением другого? Вот. Значит, ну, мы просто сравниваем: то есть, является ли левая часть отражением правой части, а правая — отражением левой. Дальше мы рекурсивно туда заходим. Значит, ну, во-первых, должны быть головы совпадать, а дальше мы опять савниваем левое с правым, правое — с левым, и так уходим вниз.

## Разбор

**Что верно:**

**Что упущено и ошибки:**

**Эталонная идея:**

**Время:** O(...) — что доминирует

**Память:** O(...) дополнительная (+ O(...) на выход / стек рекурсии)

**Граничные случаи:** 1) ... 2) ... 3) ...

**Критерии:** идея ⚠️ · структура данных ⚠️ · сложность ⚠️ · граничные случаи ⚠️

**Канон сложности:** сверить с [`../complexity-cheat-sheet.md`](../complexity-cheat-sheet.md) (таблица по 32 задачам)

**Разбор задачи:** [`../../algo-solutions/02-extra/05-tree/27-symmetric-tree.md`](../../algo-solutions/02-extra/05-tree/27-symmetric-tree.md)
