题目简述:
给定一个非空的字符串,判断它是否可以由它的一个子串重复
多次构成。
给定的字符串只含有小写英文字母,并且长度不超过10000。
解题思路:
一个字符串通过移位最后可以变为它本身
在移位变为它本身(走完一圈后)这个过程中,若存在是由一个子串重复构成的那么它绝对会有一个状态是回归本身的时候(与本身字符串相等的时候)
我们把研究的那个字符串再写一个出来,两个连接在一起,那么所新形成的字符串就包含所有状态
我们把新字符串掐头去尾 看它是否包含原字符串
class Solution {
public boolean repeatedSubstringPattern(String s) {
String str=s+s;
return str.substring(1,str.length()-1).contains(s);
}
}
共有条评论 网友评论