Având în vedere root a unui arbore binar, adâncimea fiecărui nod este cea mai scurtă distanță până la rădăcină.

Returnează cel mai mic subarborele astfel încât să conțină toate cele mai adânci noduri din arborele original.

Un nod este numit cel mai adânc dacă are cea mai mare adâncime posibilă dintre orice nod din întregul arbore.

Sub-arborele al unui nod este un arbore format din acel nod, plus setul tuturor descendenților nodului respectiv.

Notă: această întrebare este aceeași cu 1123: https://leetcode.com/problems/lowest-common-ancestor-of-deepest-leaves/

Exemplu 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.

Exemplu 2:

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

Exemplu 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.

Constrângeri:

  • Numărul de noduri din arbore va fi în intervalul [1, 500].
  • 0 <= Node.val <= 500
  • Valorile nodurilor din arbore sunt unice.

Accesați linkul de mai jos pentru soluție cu explicații detaliate