Biorąc pod uwagę root drzewa binarnego, głębokość każdego węzła to najkrótsza odległość do korzenia.

Zwróć najmniejsze poddrzewo takie, które zawiera wszystkie najgłębsze węzły oryginalnego drzewa.

Węzeł nazywany jest najgłębszym, jeśli ma największą możliwą głębokość spośród wszystkich węzłów w całym drzewie.

Poddrzewo węzła to drzewo składające się z tego węzła i zbioru wszystkich jego potomków.

Uwaga: To pytanie jest takie samo jak pytanie 1123: https://leetcode.com/problems/lowest-common-ancestor-of-deepest-leaves/

Przykład 1:

Input: root = [3,5,1,6,2,0,8,null,null,7,4]
Output: [2,7,4]
Explanation: We return the node with value 2, colored in yellow in the diagram.
The nodes coloured in blue are the deepest nodes of the tree.
Notice that nodes 5, 3 and 2 contain the deepest nodes in the tree but node 2 is the smallest subtree among them, so we return it.

Przykład 2:

Input: root = [1]
Output: [1]
Explanation: The root is the deepest node in the tree.

Przykład 3:

Input: root = [0,1,3,null,2]
Output: [2]
Explanation: The deepest node in the tree is 2, the valid subtrees are the subtrees of nodes 2, 1 and 0 but the subtree of node 2 is the smallest.

Ograniczenia:

  • Liczba węzłów w drzewie będzie mieścić się w przedziale [1, 500].
  • 0 <= Node.val <= 500
  • Wartości węzłów w drzewie są unikalne.

Kliknij poniższy link, aby uzyskać rozwiązanie ze szczegółowym wyjaśnieniem