Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. /**
  2. * Definition for a binary tree node.
  3. * public class TreeNode {
  4. * int val;
  5. * TreeNode left;
  6. * TreeNode right;
  7. * TreeNode(int x) { val = x; }
  8. * }
  9. */
  10. class Solution {
  11. public List<TreeNode> delNodes(TreeNode root, int[] to_delete) {
  12. List<TreeNode> ans1 = new ArrayList<TreeNode>();
  13. if (to_delete.length==0)
  14. {
  15. ans1.add(root);
  16. return ans1;
  17. }
  18. HashSet<Integer> set = new HashSet<Integer>();
  19. for(int e:to_delete)
  20. set.add(e);
  21. ArrayList<TreeNode> ans = delNodes(root, set);
  22. if(!set.contains(root.val))
  23. ans.add(root);
  24. return ans;
  25.  
  26.  
  27. }
  28. public ArrayList<TreeNode> delNodes(TreeNode root, HashSet<Integer> set)
  29. {
  30.  
  31. ArrayList<TreeNode> ans = new ArrayList<TreeNode>();
  32. if(root==null)
  33. return null;
  34. TreeNode left=root.left;
  35. TreeNode right=root.right;
  36. if (set.contains(root.val))
  37. {
  38. root=null;
  39. if(left!=null&&!set.contains(left.val))
  40. ans.add(left);
  41. if(right!=null&&!set.contains(right.val))
  42. ans.add(right);
  43. }
  44. if(left!=null)
  45. ans.addAll(delNodes(left, set));
  46. if(right!=null)
  47. ans.addAll(delNodes(right, set));
  48. return ans;
  49. }
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement