Yes, Tom Hanks did gain and lose weight for certain roles. He gained weight for his roles in "A League of Their Own" and "Cast Away," and lost weight for his roles in "Philadelphia" and "Forrest Gump."