方法:双重 for 循环解决
这应该是一个比较好想的思路
- 定义一个计数器,专门记录整数 1 的个数
- 第一层 for 循环 1-n
- 然后将循环的每个数先转换为 String,然后转换成 char[] 数组
- 第二次 for 循环遍历 char[] 数组,统计 '1' 出现的个数
if (n < 0) return 0; int count = 0; for (int i = 1;i<=n; i++) { char[] str = String.valueOf(i).toCharArray(); for (int j=0;j<str.length;j++) { if (str[j] == '1') { count++; } } } return count;