Ближайший общий предок в бинарном дереве
Источник: https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree-iii/ Даны два узла p и q бинарного дерева, вернуть их ближайший общий предокт, lowest common ancestor (LCA) . У каждого узла есть указатель на родителя. Определение Node следуюшее : class Node { public int val; public Node left; public Node right; public Node parent; } По определению LCA в Wikipedia : "The lowest common ancestor of two nodes p and q in a tree T is the lowest node that has both p and q as descendants (where we allow a node to be a descendant of itself )." Пример 1: Дано: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 1 Результат: 3 Пояснение: 3 - ближайший общий предок и для 5, и для 1 Пример 2: Дано: root = [3,5,1,6,2,0,8,null,null,7,4], p = 5, q = 4 Результат: 5 Пояснение: 5 - это потомок самого себя, согласно определнию LCA, значит LCA=5 для 5 и 4. Пример 3: Дано: root = [1,2], p = 1, q = 2 Результат: 1 Ограничения: Количество узлов в дереве н...