类似一个滑动窗口,大小为s.length()
在两个s合并后,窗口会不断的移动,如果能找到和s相等,就说明是重复的
要去掉两个特例:
1:第一个s
2:第二个s
image.png
class Solution {
public boolean repeatedSubstringPattern(String s) {
String str=s+s;
for(int i=1;i<s.length();i++){//从1开始是不想去包含原字符串,到s.length()-1结束,是不想去包含下一个s
if(str.substring(i,i+s.length()).equals(s)){//substring是左闭右开
return true;
}
}
return false;
}
}
网友评论