简单暴力题,我的写法是先讲当前的数转化为字符串,再一位一位的进行测试,判断取余后是否为0,需要注意的是,若当前位的数组为0时,说明该数字不满足条件,直接退出进入下一个数。思路有了,动手写代码,AC代码如下:
class Solution {
public:
vector<int> selfDividingNumbers(int left, int right) {
vector<int> ans;
for(;left<=right;left++) {
string tmp = to_string(left);
int len = tmp.length();
int flag = false;
for(int i=len-1;i>=0;i--) {
if((int(tmp[i]) - 48) != 0) {
if(left%((int(tmp[i])) - 48) != 0) {
flag = true;
break;
}
}else {
flag = true;
break;
}
}
if(flag == false) {
ans.push_back(left);
}
}
return ans;
}
};