给你一个整数 num
,返回 num
中能整除 num
的数位的数目。
如果满足 nums % val == 0
,则认为整数 val
可以整除 nums
。
示例 1:
输入:num = 7 输出:1 解释:7 被自己整除,因此答案是 1 。
示例 2:
输入:num = 121 输出:2 解释:121 可以被 1 整除,但无法被 2 整除。由于 1 出现两次,所以返回 2 。
示例 3:
输入:num = 1248 输出:4 解释:1248 可以被它每一位上的数字整除,因此答案是 4 。
解读题目
countDigits的作用:输入的整型num,判断它每一位的数字能否整除它自身。
自己的思路
将整型的num转为字符型,使用for循环配合charAt获取每一位的数字,最后使用if判断能否整除
代码
class Solution {
public int countDigits(int num) {
String s = Integer.toString(num);
int res = 0;
for (int i = 0; i < s.length(); i++) {
if (num % (s.charAt(i) - 48) == 0) {
res++;
}
}
return res;
}
}