Веб-версияОткрыть в Telegram

ПостЗадача: 993. Cousins in Binary Tree

8 сентября 2026
P
Python | LeetCode
Задача: 993. Cousins in Binary Tree Сложность: easy Дан корень бинарного дерева с уникальными значениями и значения двух различных узлов дерева x и y. Верните true, если узлы, соответствующие значениям x и y в дереве, являются кузенами, иначе верните false. Два узла бинарного дерева являются кузенами, если они находятся на одной глубине и имеют разных родителей. Обратите внимание, что в бинарном дереве корневой узел находится на глубине 0, а дети каждого узла глубины k находятся на глубине k + 1. Пример: Input: root = [1,2,3,4], x = 4, y = 3 Output: false 👨‍💻 Алгоритм: 1⃣Поиск глубины и родителя для каждого узла: Используйте поиск в глубину (DFS) для обхода дерева. Для каждого узла сохраняйте его глубину и родителя, если значение узла равно x или y. 2⃣Проверка условий на кузенов: Узлы являются кузенами, если они находятся на одной глубине, но имеют разных родителей. 3⃣Возврат результата: Если узлы удовлетворяют условиям на кузенов, верните true, иначе верните false. 😎 Решение: class TreeNode: def __init__(self, val=0, left=None, right=None): self.val = val self.left = left self.right = right class Solution: def isCousins(self, root: TreeNode, x: int, y: int) -> bool: parent_x, parent_y = None, None depth_x, depth_y = -1, -1 def dfs(node, parent, depth): nonlocal parent_x, parent_y, depth_x, depth_y if not node: return if node.val == x: parent_x, depth_x = parent, depth elif node.val == y: parent_y, depth_y = parent, depth else: dfs(node.left, node, depth + 1) dfs(node.right, node, depth + 1) dfs(root, None, 0) return depth_x == depth_y and parent_x != parent_y Ставь 👍 и забирай 📚 Базу знаний
5 · 705 ·

Рядом в ленте

PPython | LeetCodeЗадача: 238. Product of Array Except Self Сложность: medium Дан массив целых чисел nums, верните массив answer такой, что answer[i] равен произведению всех элемPPython | LeetCodeЗадача: 32. Longest Valid Parentheses Сложность: hard Дана строка, содержащая только символы '(' и ')'. Верните длину самой длинной подстроки с корректными (пра
это сообщение
PPython | LeetCodeЗадача: 1422. Maximum Score After Splitting a String Сложность: easy Дана строка s из нулей и единиц. Верните максимальное количество очков после разбиения строPPython | LeetCodeЗадача: 752. Open the Lock Сложность: medium Перед вами замок с 4 круглыми колесами. Каждое колесо имеет 10 слотов: '0', '1', '2', '3', '4', '5', '6', '7', '8',

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем