## Description

https://leetcode.com/problems/delete-nodes-and-return-forest/

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]]

**Constraints:**

- The number of nodes in the given tree is at most
`1000`

. - Each node has a distinct value between
`1`

and`1000`

. `to_delete.length <= 1000`

`to_delete`

contains distinct values between`1`

and`1000`

.

## Python Solution

Traverse the tree, if the node value is in the delete value list, change the node to be null, also check if the node has sub tree or not if there is a subtree, then mark it as a separate disjoint tree.

```
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def delNodes(self, root: TreeNode, to_delete: List[int]) -> List[TreeNode]:
results = []
if not root:
return results
to_delete = set(to_delete)
self.helper(root, to_delete, results, True)
return results
def helper(self, root, to_delete, results, is_root):
if not root:
return None
if root.val in to_delete:
if root.left:
left = self.helper(root.left, to_delete, results, True)
if root.right:
right = self.helper(root.right, to_delete, results, True)
root = None
return root
else:
left = self.helper(root.left, to_delete, results, False)
right = self.helper(root.right, to_delete, results, False)
root.left = left
root.right = right
if is_root:
results.append(root)
return root
```

- Time Complexity: O(N).
- Space Complexity: O(N).

When installing an Ubuntu server or desktop, it is important to know how to configure and view network settings. Its also useful for troubleshootiread more , with screen shot and code snipets at

How to Configure Network Settings in Ubuntu