Philippine President Rodrigo Duterte says he confronted the American ambassador about the US' inaction in stopping China's construction of man-made islands that are now at the heart of a regional dispute in the South China Sea.

"Why did you not send the armada of the 7th Fleet," the straight-talking president said he told US Ambassador Sung Kim.

Duterte said in a speech on Wednesday that Kim was unable to reply to the question when they met on Monday in southern Davao city, where the president had a separate meeting with the Chinese ambassador.

Duterte said he told Kim he was surprised by what he described as US inaction when newspapers were publishing pictures of China's construction of runways and other structures on the newly built islands in the disputed waters.

OPINION: Why China cares about the South China Sea?

"Had America really wanted to avoid trouble, early on ... why did you not send the armada of the 7th Fleet, which is stationed there in the Pacific? You just make a U-turn and go there and tell them right on their face, stop it," Duterte said to Kim, referring to the US naval fleet based in Japan.

Kim, who arrived in Manila last year as American ambassador, replied he was assigned elsewhere at the time and could not give an answer, Duterte said.

While criticising the US, Duterte did not berate China's behavior in the South China Sea in his speech.

Duterte made the statement a day after a report was published saying China has nearly completed construction on three man-made islands allowing it to deploy combat aircraft and surface-to-air missiles.

The Washington-based Center for Strategic and International Studies analysed recent satellite photos and concluded that runways, aircraft hangers, radar sites and hardened surface-to-air missile shelters have either been finished or are near completion.

China-Philippine talks

One of the islands mentioned in the report, Philippine-claimed Mischief Reef, was seized by China in 1995, drawing protests from Manila at the time.

Another island, Subi, is close to a Philippine-occupied island in the Spratly chain, which is claimed in whole or in part by China, the Philippines, Vietnam, Malaysia, Taiwan and Brunei.

Duterte repeated he would not go to war with militarily superior China over the territorial conflict.

"The first thing that will be blasted away from this planet Earth will be Palawan," Duterte said, referring to the western Philippine island province facing the disputed waters.

"All of the deposits of armaments of the Americans, including ours, are there."

When Duterte took office in June, he reached out to China to mend relations strained under his predecessor, Benigno Aquino III, over the territorial dispute.

While taking a friendly stance towards Beijing, he lashed out at the United States for criticising his brutal campaign against illegal drugs.

Duterte thanked President Xi Jinping over the renewed friendship and return of normal trade relations, praising the Chinese leader as "very kind".

Duterte, however, said he will invoke an international arbitration ruling that declared China has no historic title to the disputed waters if Beijing drills for oil or gas in a shoal contested by China and the Philippines.

On Wednesday, the Philippine foreign ministry announced that China and the Philippines have agreed to hold direct talks on the South China Sea dispute in May.