Permission Management for a General Tree
void grantAccess(TreeNode root);
void revokeAccess(TreeNode root);
boolean hasAccess(TreeNode root); 10
1 2 3
5 13 9 0 4 8
// ex 1
hasAccess(4); // false
revokeAccess(10);
hasAccess(4); // false
grantAccess(2);
hasAccess(4); // true
// ex 2
hasAccess(4); // false
grantAccess(2);
hasAccess(4); // true
revokeAccess(10);
hasAccess(4); // falseLast updated