#1110

Delete Nodes And Return Forest

medium · failed · 72.5% accepted · 4,793 likes · top 82%

array · hash table · tree · depth-first search · binary tree

⊣ practice⊣ open on leetcode ↗

Description

Given the root of a binary tree, each node in the tree has a distinct value.

After deleting all nodes with a value in to_delete, we are left with a forest (a disjoint union of trees).

Return the roots of the trees in the remaining forest. You may return the result in any order.

Example 1:

Input: root = [1,2,3,4,5,6,7], to_delete = [3,5]
Output: [[1,2,null,4],[6],[7]]

Example 2:

Input: root = [1,2,4,null,3], to_delete = [3]
Output: [[1,2,4]]

Solution