这个方法复杂度过高,但是确是很容易理解与想到的。把每个数字转换成字符串,然后检查每个字符串是否含有1这个字符,计数。
class Solution {
public:
void transform(int a, int &cnt){
string s;
s = to_string(a);
for(int i=0; i<s.size(); i++){
if(s[i]=='1') cnt++;
}
}
int NumberOf1Between1AndN_Solution(int n)
{
int cnt =0;
for(int i=1; i<=n; i++){
transform(i,cnt);
}
return cnt;
}
};
京公网安备 11010502036488号