Advertisement
SalmaYasser

Untitled

Jan 16th, 2020
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.92 KB | None | 0 0
  1. TreeNode * find_forest (vector<TreeNode*> &res, TreeNode *root,unordered_map <int , bool > &del, bool parent_del )
  2. {
  3. if (root == nullptr)
  4. return nullptr;
  5. int cur = root -> val;
  6. bool deleted = del[cur];
  7.  
  8. if (!deleted && parent_del)
  9. {
  10. res.push_back(root);
  11. }
  12.  
  13. root -> left = find_forest(res, root -> left, del,deleted);
  14. root -> right = find_forest(res, root -> right, del,deleted);
  15.  
  16. return deleted ? nullptr : root;
  17.  
  18. }
  19. vector<TreeNode*> delNodes(TreeNode* root, vector<int>& to_delete) {
  20.  
  21. unordered_map <int , bool > del;
  22. vector<TreeNode*> res ;
  23. for (int i = 0 ; i < to_delete.size(); i++)
  24. {
  25. int val = to_delete[i];
  26. del[val] = true;
  27. }
  28. find_forest(res, root, del,true);
  29. return res;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement