Hard
Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n.
Example:
Input: 13 Output: 6 Explanation: Digit 1 occurred in the following numbers: 1, 10, 11, 12, 13.
转:https://www.cnblogs.com/xuanxufeng/p/6854105.html
class Solution {
public int countDigitOne(int n) {
int count = 0;
for(long m=1;m<=n;m*=10){
count += (n/m+8)/10*m + ((n/m%10==1)?n%m+1:0);
}
return count;
}
}