President Donald Trump has lashed out at London Mayor Sadiq Khan for his response to the London Bridge attack, and said it is time to "stop being politically correct" about terrorism.

As news of the atrocity broke on Saturday evening, Mr Trump tweeted: "We need to be smart, vigilant and tough. We need the courts to give us back our rights. We need the Travel Ban as an extra level of safety!"

He then joined other world leaders in offering solidarity to the capital, tweeting: "Whatever the United States can do to help out in London and the U. K., we will be there - WE ARE WITH YOU. GOD BLESS!"

But as day broke in the US, the president's tone changed as he embarked on a series of tweets demanding a tougher security approach.

He first tweeted: "We must stop being politically correct and get down to the business of security for our people. If we don't get smart it will only get worse."

Then 11 minutes later he added: "At least seven dead and 48 wounded in terror attack and Mayor of London says there is 'no reason to be alarmed!'"

Meanwhile, Trump's son Donald Jr tweeted a link to an article from last year in which Mr Khan said that being prepared for terror attacks was "part and parcel" of living in a big city, with the comment: "You have to be kidding me!?"

The president then tweeted: "Do you notice we are not having a gun debate right now? That's because they used knives and a truck!"