【高精度】其实用了高精度除法的思想,把余数留给下一位,下一位再除的时候把余数乘以10再加上当前位的值,看看能否被m整除即可。
class Solution {
public int[] divisibilityArray(String word, int m) {
int n = word.length();
long r = 0;
int[] ans = new int[n];
for (int i = 0; i < n; i++) {
r = (r * 10 + word.charAt(i) - '0') % m;
ans[i] = r == 0? 1: 0;
}
return ans;
}
}