How to correctly "overwrite" existing histograms?

Dear ROOTers,

In an unnamed script, i allocate dinamically histograms on the heap with:

TH1F * histo = new TH1F("histo", ...);

i fill them and then i use the filled histograms interactively.

When i need to execute again the unnamed script, the “gROOT->Reset()” at the beginning of the file destroys the pointers to these objects, but not the objects itself as they are in the heap.
So when the script arrives again to the histogram allocation line, i receive the warning “Possible memory leak”.
Which is the right way to remove the old histogram from the heap when i want to re-create it?

Something like:

if (gROOT->FindObject("histo"))  {
       delete gROOT->FindObject("histo");

   -- or --

       gROOT->FindObject("histo")->Delete();
};

?

do:

Rene