By definition a public subnet within a VPC is one that;
In it’s routing table it has at least one route that uses an Internet Gateway (IGW).
Has at least one route in it’s routing table that routes via a Network Address Translation (NAT) instance.
Where the the Network Access Control List (NACL) permitting outbound traffic to 0.0.0.0/0.
Has had the public subnet check box ticked when setting up this subnet in the VPC console.