题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。

方法一:

public class Solution{
      public static int numberOf1between1AndN(int n){
           if(n<=0){
                return 0;
           }
           StringBuilder sb=new StringBuilder();
           for(int i=1;i<=n;i++){
                sb.append(String.valueOf(i));
           }
           String str=sb.toString();
           int number=str.length()-str.replace("1","").length();
           return number;
     }

     public static void main(String[] args){
           int number=numberOf1between1AndN(12);
           System.out.println(number);
     }
}

 

 posted on 2018-11-14 22:43  会飞的金鱼  阅读(85)  评论(0)    收藏  举报