@@ -0,0 +1,634 @@
+public class Solution %7B%0A    public int countDigitOne(int n) %7B%0A        long result = 0;%0A        if(n %3C= 0)%7B%0A            return 0;%0A        %7D%0A        String nStr = String.valueOf(n);%0A        int len = nStr.length();%0A        int p = 1;%0A        int tmp = 0;%0A        %0A        for(int i = len - 1; i %3E= 0; i-- )%7B%0A            int val = nStr.charAt(i) - '0';%0A            if(val %3E= 2)%7B%0A                result +=  p;%0A            %7Delse if(val == 1)%7B%0A                result += (tmp + 1);%0A            %7D%0A            tmp += val * p;%0A            n /= 10;%0A            result += n * p;%0A            p *= 10;%0A        %7D%0A%0A        return (int)result;%0A    %7D%0A%7D

Q233 Number of Digit One