转化成字符串
public int NumberOf1Between1AndN_Solution(int n) {
if(n<=0)
return 0;
int count = 0;
while(n>0)
{
String str = String.valueOf(n);
char[] chars = str.toCharArray();
for(int i=0; i<chars.length; i++)
{
if(chars[i] == '1')
count++;
}
n--;
}
return count;
}
做除法和求余
public int NumberOf1Between1AndN_Solution2(int n)
{
int count = 0;
for(int i = 0; i <= n; i++)
{
count += NumberOf1(i);
}
return count;
}
private int NumberOf1(int n)
{
int number = 0;
while(n != 0)
{
if(n % 10 == 1)
number++;
n = n / 10;
}
return number;
}