The answer to this depends on how you define “America.” If you define “America” as any of the lands (mainlands or islands) of the Americas, then Christopher Columbus is, as far as we know, the first non-native to reach America since the Vikings. If you define “America” as either “North America” or “the continents of the Americas,” then it is more likely that the Venetian explorer (sailing for England) now known as John Cabot was the first.
So far as we know, Columbus was the first to reach the New World since the Vikings. There are those who say that Irish monks accomplished the feat or that the Chinese sailor Zheng He did so in the early 1400s. However, there is no solid evidence for either of these claims. This means that Columbus was the first outside person who we know found the New World since the Vikings. However, what Columbus originally found was islands in the Caribbean. Moreover, Columbus never did discover North America. He did reach the coast of continental South America in 1498, but he never reached North America. Meanwhile, historians generally accept that John Cabot reached some spot on the North American continent in 1497. Therefore, we can say that he was the first non-native since the Vikings to reach the mainland of the Americas and the first to reach North America. If this is our definition “discovered America,” then Cabot is the answer, but if the islands of the Caribbean count, then Columbus is the answer.