问题描述:计算数字k在0到n中的出现的次数,k可能是0~9的一个值
class Solution {
public:
/**
* @param k: An integer
* @param n: An integer
* @return: An integer denote the count of digit k in 1..n
*/
int digitCounts(int k, int n) {
// write your code here
int nums=0;//计数
for(int i=0;i<=n;i++)
{
if(k==0&&nums==0)//当k=0时,计数初值有所变化
{
nums=1;
}
int number=i;
if(i>=k)//计数主体,减去k与10取余得0,则+1;
{
while(number>0)
{
if((number-k)%10==0)
{
nums++;
}
number=number/10;
}
}
}
return nums;
}
};
贼拉开心