Search⌘ K
AI Features

Solution: Delete Nodes And Return Forest

Explore how to delete nodes from a binary tree based on given values and return the resulting forest of disjoint trees. Understand the iterative depth-first search approach to properly detach nodes and handle children becoming new tree roots. This lesson helps you implement efficient node deletion with O(n) time and space complexity.

Statement

Given the root of a binary tree where each node has a unique value, your task is to delete all nodes with values specified in the delete_nodes list. After performing the deletions, the tree will split into a forest—a collection of disjoint trees. Return the roots of the remaining trees in the forest in any order.

Constraints:

  • 00\leq nodes 100\leq100

  • 11\leq nodes.value 1000\leq 1000 ...