Deallocating all in Circular LL
//An alternate approach
if (!head) return;
node * current = head->next;
head->next = NULL;   ///say what?
while (current){
   head = current->next;
   delete current;
   current = head;
}