865.Smallest Subtree with all the Deepest Nodes
Problem description:
Given the root
of a binary tree, the depth of each node is the shortest distance to the root.
Return the smallest subtree such that it contains all the deepest nodes in the original tree.
A node is called the deepest if it has the largest depth possible among any node in the entire tree.
The subtree of a node is tree consisting of that node, plus the set of all descendants of that node.
Note: This question is the same as 1123: https://leetcode.com/problems/lowest-common-ancestor-of-deepest-leaves/
Example 1:
1 | Input: root = [3,5,1,6,2,0,8,null,null,7,4] |
Example 2:
1 | Input: root = [1] |
Example 3:
1 | Input: root = [0,1,3,null,2] |
Constraints:
- The number of nodes in the tree will be in the range
[1, 500]
. 0 <= Node.val <= 500
- The values of the nodes in the tree are unique.
Solution:
1 | # Definition for a binary tree node. |
time complexity: $O()$
space complexity: $O()$
reference:
related problem: