Why wouldnt we just free the root. Doesnt it free all the memories that are bound to it ? I may be wrong. I even know I am wrong but , so even we free the root , other memorial places will still be filled?Code:void destroy_tree(struct node *leaf) { if( leaf != 0 ) { destroy_tree(leaf->left); destroy_tree(leaf->right); free( leaf ); } }