1110. 删点成林
给出二叉树的根节点 root,树上每个节点都有一个不同的值。
如果节点值在 to_delete 中出现,我们就把该节点从树上删去,最后得到一个森林(一些不相交的树构成的集合)。
返回森林中的每棵树。你可以按任意顺序组织答案。
链接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
   | 
 
 
 
 
 
 
 
 
 
 
 
  var delNodes = function(root, to_delete) {   const res = []   if (root === null) return res   function dfs(node) {     if (node === null || to_delete.length === 0) return     if (node.left) node.left.parent = node     if (node.right) node.right.parent = node     dfs(node.left)     dfs(node.right)     const index = to_delete.indexOf(node.val)     if (index !== -1) {       to_delete.splice(index, 1)       if (node.parent) {         if (node.parent.left === node) {           node.parent.left = null         } else {           node.parent.right = null           }       }       if (node.left) {         res.push(node.left)       }       if (node.right) {         res.push(node.right)       }     } else if (root === node) {       res.push(node)     }   }
    dfs(root)   return res };
 
  |