思路
假设重复A字符串k次,使得A.length >= B.length,只需比较此时B是否为A的子串和k+1时B是否为A的子串即可,因为再多了就是重复查找了。利用String/StringBuilder的indexOf来得到是否为子串。
时间复杂度O(n^2)
空间复杂度O(1)
代码
class Solution {
public int repeatedStringMatch(String A, String B) {
int count = 1;
StringBuilder sb = new StringBuilder(A);
while (sb.length() < B.length()) {
sb.append(A);
count++;
}
if (sb.indexOf(B) >= 0) {
return count;
}
sb.append(A);
count++;
if (sb.indexOf(B) >= 0) {
return count;
}
return -1;
}
}