Skip to content

Commit 491c898

Browse files
Create 1110. Delete Nodes And Return Forest
1 parent 34cfd27 commit 491c898

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

1110. Delete Nodes And Return Forest

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class Solution:
2+
def delNodes(self, root: TreeNode, to_delete: List[int]) -> List[TreeNode]:
3+
remaining = []
4+
to_delete = set(to_delete)
5+
self.remove_node(root,to_delete,remaining)
6+
if root.val not in to_delete:
7+
remaining.append(root)
8+
return remaining
9+
10+
def remove_node(self,root,to_delete,remaining):
11+
if not root:
12+
return None
13+
root.left = self.remove_node(root.left,to_delete,remaining)
14+
root.right = self.remove_node(root.right,to_delete,remaining)
15+
if root.val in to_delete:
16+
if root.left:
17+
remaining.append(root.left)
18+
if root.right:
19+
remaining.append(root.right)
20+
return None
21+
return root
22+
23+

0 commit comments

Comments
 (0)