计算数字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 class Solution {
/**
* @param k: An integer
* @param n: An integer
* @return: An integer denote the count of digit k in 1..n
*/
public int digitCounts(int k, int n) {
// write your code here
int cnt = 0;
for(int i = k; i <= n; i++){
cnt += singleCount(k, i);
}
return cnt;
}
private int singleCount(int k, int i){
if(k == 0 && i == 0) return 1;
int cnt = 0;
while(i > 0){
if(i % 10 == k) cnt++;
i = i / 10;
}
return cnt;
}
}