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
|
var delNodes = function(root, to_delete) { let R=[] let S=new Set(to_delete) if(!to_delete.includes(root.val)){ R.push(root) } dfs(root) return R function dfs(curr){ if(!curr){ return null } curr.left=dfs(curr.left) curr.right=dfs(curr.right) if(S.has(curr.val)){ console.log(curr.val) if(curr.left) { R.push(curr.left) } if(curr.right) { R.push(curr.right) } return null }else{ return curr } } };
|