1110. Delete Nodes And Return Forest
## 思路
DFS掃整個Tree
如果node沒有parent且不在to_delete就加到res
## Complexity
Time, Space: O(N)
## Code
```python
class Solution:
def delNodes(self, root: Optional[TreeNode], to_delete: List[int]) ->
List[TreeNode]:
to_delete = set(to_delete)
res = []
def dfs(node, has_parent):
if not node:
return
if node.val not in to_delete and has_parent is False:
res.append(node)
has_parent = False if node.val in to_delete else True
if node.left:
dfs(node.left, has_parent)
if node.left.val in to_delete:
node.left = None
if node.right:
dfs(node.right, has_parent)
if node.right.val in to_delete:
node.right = None
dfs(root, False)
return res
```