展览公司网站模板,泰安选择企业建站公司,手机开发者选项有什么用,互联网营销策略有哪些题目描述
给定一个非空的字符串 s #xff0c;检查是否可以通过由它的一个子串重复多次构成。
思路与算法
关键词#xff1a;利用字符串的重复性质#xff1b;字符串的拼接技巧#xff1b;逆推法假设原始字符串 s 是由某个子串 sub 重复多次构成的。也就是说#xff0c…题目描述
给定一个非空的字符串 s 检查是否可以通过由它的一个子串重复多次构成。
思路与算法
关键词利用字符串的重复性质字符串的拼接技巧逆推法假设原始字符串 s 是由某个子串 sub 重复多次构成的。也就是说s 的形式是s sub sub sub ... sub那么ss去掉头尾后必然还存在subsubsub…sub即s的模式。通过这个思路我们可以得出结论检查 s s 去掉头尾后如果还包含原始的 s那么就说明 s 是由某个子串重复构成的。
代码 class Solution:def repeatedSubstringPattern(self, s: str) - bool:# 通过拼接字符串 s sdoubled_s s s# 检查 s 是否出现在 doubled_s 中但去掉头尾# 即检查 doubled_s[1:-1] 中是否包含 sreturn s in doubled_s[1:-1]