Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.84 KB | None | 0 0
  1. void remove(String fn) {
  2.         remove(find(fn));
  3.     }
  4.  
  5.  
  6.     void remove(Node n) {
  7.         if (n == null) return;
  8.         if ((n.left == null) && (n.right == null)) {
  9.             if (n == root) root = null;
  10.             else if (n.parent.left == n) n.parent.left = null;
  11.             else n.parent.right = null;
  12.         } else if (n.left == null) {
  13.             if (n == root) root = n.right;
  14.             else if (n.parent.left == n) n.parent.left = n.right;
  15.             else n.parent.right = n.right;
  16.         } else if (n.right == null) {
  17.             if (n == root) root = n.left;
  18.             else if (n.parent.left == n) n.parent.left = n.left;
  19.             else n.parent.right = n.left;
  20.         } else {
  21.             Node leftMax = findMaxR(n.left);
  22.             n.fileName = leftMax.fileName;
  23.             remove(leftMax);
  24.         }
  25.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement