cleaning up memory for array of keys and the node itself when reaching deepest...
cleaning up memory for array of keys and the node itself when reaching deepest point of branch (previous version exposes user to a double-free condition)
cleaning up memory for array of keys and the node itself when reaching deepest point of branch (previous version exposes user to a double-free condition)