Golang:
思路:这题难道就是区别优秀程序员和一般程序员的那种智商题吗?正确思路是:将两个s字符串拼接起来,如果拼接好的字符串去头掐尾,里面还会出现s的话,就可以知道它是重复字符串了。大佬们一行就能解决了,而我。。。
我自己的代码如下(不建议看):
func repeatedSubstringPattern(s string) bool {
i:=0
for i<len(s)/2{
if s[i]==s[len(s)-1] {
t1:=s[0:i+1]
t2:=s[len(s)-i-1:len(s)]
if strings.Compare(t1,t2)==0&&checkStrings(s,t1) {
return true
}
}
i++
}
return false
}
func checkStrings(s string,t string) bool{
if len(s)%len(t)!=0{
return false
}else{
nums:=len(s)/len(t)
temp:=""
for i:=0;i<nums;i++{
temp=temp+t
}
if strings.Compare(s,temp)==0{
return true
}
}
return false
}
有疑问加站长微信联系(非本文作者)