这道题其实可以用很简单的解法来解。我们观察到可以将1-n的数字变成字符串,然后统计出字符串中1出现的次数即可。
class Solution { public: int NumberOf1Between1AndN_Solution(int n) { string str=""; for(int i=1; i<=n; i++){ str += to_string(i); } int size = str.size(); int cnt = 0; for(int i=0; i<size; i++){ if(str[i]=='1') cnt++; } return cnt; } };