标签:
Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n.
For example:
Given n = 13,
Return 6, because digit 1 occurred in the following numbers: 1, 10, 11, 12, 13.
代码如下:
public class Solution { public int countDigitOne(int n) { if(n<=0) return 0; int j=1,k=n,constant=0; while(k>=10){ k/=10; j*=10; } if(k>1){ constant=j; }else{ constant=n%j+1; } return constant+k*countDigitOne(j-1)+countDigitOne(n%j); } }
运行结果:
(*medium)LeetCode 233.Number of Digit One
标签:
原文地址:http://www.cnblogs.com/mlz-2019/p/4703007.html