I had only one public subnet to VPC,and added NAT gateway to that public subnet, but i'm not able access the instance using NAT ip address.
@1)I'm able to ping the instance, with public Ip address(added icmp to security group), but by using NAT elastic IP address i'm not able to ping.
@2)Does NAT is applicable for single public subnet or not. My goal is to translate the ip address attached to public subnet instance.
I believe you are using the wrong service for what you are trying to do.
The AWS service NAT Gateway is for routing outbound traffic from a private subnet to the internet. It does not route inbound requests.