459. Repeated Substring Patter classSolution(object):defrepeatedSubstringPattern(self,s):""":type s: str:rtype: bool"""# 此题需要KMP算法基础# 直接利用KMP算法的next数组求,但比KMP算法中next数组(又称部分匹配表)多加一位# 例如长度为5的子串重复4次,那next总长度为21的最后一个元素是15nex=self.g...
String substring = str.substring(0,i); StringBuilder sb =newStringBuilder(); for(intj=0;j<m;j++) { sb.append(substring); } if(sb.toString().equals(str))returntrue; } } returnfalse; } } Python: 1 2 3 4 5 6 7 8 9 10 11 12 13 classSolution(object): defrepeatedSubstringPattern...
classSolution {public:boolrepeatedSubstringPattern(stringstr) {inti =1, j =0, n =str.size(); vector<int> dp(n +1,0);while(i <n) {if(str[i] == str[j]) dp[++i] = ++j;elseif(j ==0) ++i;elsej =dp[j]; }returndp[n] && (dp[n] % (n - dp[n]) ==0); } }; ...
Output: True Explanation: It's the substring "abc" four times. (And the substring "abcabc" twice.) 1. 2. 3. 4. 5. class Solution(object): def repeatedSubstringPattern(self, s): """ :type s: str :rtype: bool """ #return True if re.match(r"(\w+)*", s) else False def ...
repeated-substring-pattern package com.company; import java.util.*; class Solution { public boolean repeatedSubstringPattern(String str) { for (int i=1; i<=str.length()/2; i++) { if (str.length() % i != 0) { continue; }
Golang Leetcode 459. Repeated Substring Pattern.go 思路 有一个神奇的解法: 用两个s 首尾相连得到一个新的字符串ss ; 去掉ss 的首尾两个字符; 如果在剩下来的字符串中能找到s 那么返回True,否则False if len(s) == 0 { return false } ss := (s + s)1:(len(s)*2)-1 return strings....
classSolution{publicbooleanrepeatedSubstringPattern(Strings){intlen=s.length();for(inti=1;i<=len/2;i++){Stringsub=s.substring(0,i);StringBuffersb=newStringBuffer();for(intj=0;j<len/i;j++){sb.append(sub);}if(sb.toString().equals(s)){returntrue;}}returnfalse;}} ...
publicclassSolution{publicbooleanrepeatedSubstringPattern(Stringstr){if(str.length()<2)returnfalse;char[]arr=str.toCharArray();intlow=0;intfast=1;booleanmatch=false;// 匹配到与否的标记while(fast<arr.length){if(arr[fast]==arr[0]){// 匹配到了第一个,开始判断是否重复for(low=0;fast<arr.lengt...
Repeated Substring Pattern 直观的思路就是选取所有可能的子字符串,并且将剩余的字符串按照等长截断,将每一段和预期的子字符串进行比较,判断是否相等。代码如下,可以参考注释理解: 33110 Repeated DNA Sequences Repeated DNA Sequences All DNA is composed of a series of nucleotides abbreviated as A, C, G, ...
publicbooleanrepeatedSubstringPattern(Strings) {if(s ==null|| s.length() ==0)returnfalse;intlen = s.length();for(inti =1; i <= len/2; i++){if(len % i ==0){intsubStrLen = len/i; StringBuilder sb =newStringBuilder();Stringstr= s.substring(0, i);for(intj =0; j < subStrL...