计算数字k在0到n中的出现的次数,k可能是0~9的一个值
样例
例如n=12,k=1,在 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],我们发现1出现了5次 (1, 10, 11, 12)
public int digitCounts(int k, int n) {
int count = 0;
//循环从n->0,每个数和k比较
while(n >= 0){
count += isDigit(k,n);
n--;
}
return count;
}
public static int isDigit(int k ,int n){
int time = 0; //记录单个数出现k的次数
while(n > 9){
if(n % 10 == k) // n%10得到最后一位,与k进行比较
time++;
n /= 10; // n/10去掉最后一位
}
if(n == k) //当n只剩一位时,与k比较
time++;
return time;
}