Stephen Colbert, Kate Winslet re-enact Titanic ending - with a twist

Late night TV host Stephen Colbert has re-enacted the dramatic ending of Titanic with the film's star, Kate Winslet - but this time there was a happy ending.

The ending to Titanic has long caused a stir, with director James Cameron regularly having to defend the decision to let Jack die despite there appearing to be enough room for him to fit on the plank Rose was lying on.

One of the film's most prominent lines of dialogue also came under scrutiny during Winslet's appearance on the show.

"In the famous line, you say, 'I'll never let you go, Jack,' but you do - you let him go," Colbert said, citing the moment, upon his death, that she releases his hands from her grasp.

"I agree. I lie. I fully lie. I hold my hand up - I let him go. Plus, he should have just tried harder to get on that door," she said.

"I mean we could re-enact it now," she added, before being cut off as Colbert immediately latched onto the remark and prepared to play Leonardo DiCaprio's character, Jack.

"Promise me this, Rose," Colbert said to Winslet, who was lying on his desk and peering down at him on the floor. "You'll let me get up on that door with you."

"Come on darling! There's room for two!" she replied, pulling him onto the desk to uproarious laughter from the audience.

Watch the full clip below.