[剑指offer C++实现]剑指 Offer 43. 1~n 整数中 1 出现的次数
输入一个整数 n ,求1~n这n个整数的十进制表示中1出现的次数。
例如,输入12,1~12这些整数中包含1 的数字有1、10、11和12,1一共出现了5次。
class Solution {
public:
int countDigitOne(int n) {
int res = 0;
for(int i = 1;i <= n;i++)
{
res += helper(i);
}
return res;
}
private:
int helper(int n)
{
int cnt = 0;
while(n)
{
if(n%10 == 1)
cnt++;
n /= 10;
}
r......