力扣459 重复的字符串
bool repeatedSubstringPattern(char * s) {
int n = strlen(s);
for (int i = 1; i <= n / 2; i++) {
if (n % i == 0) { // 检查当前长度是否能整除原字符串长度
bool match = true;
char * substring = s; // 获取子串的起始位置
for (int j = i; j < n; j++) {
if (s[j] != s[j % i]) { // 检查子串重复多次是否等于原字符串
match = false;
break;
}
}
if (match) {
return true;
}
}
}
return false;
}
class Solution:
def repeatedSubstringPattern(self, s: str) -> bool:
a = len(s)
for i in range(1, a // 2 + 1):
if a % i == 0: # 检查当前长度是否能整除原字符串长度
substring = s[:i] # 获取子串
if substring * (a // i) == s: # 检查子串重复多次是否等于原字符串
return True
return False # 如果没有找到合适的子串,返回 False
#1.// 取商 % 求余
#2.s[:i] 通过切片获取子串
#3.substring * (a // i) ==>字符串拼接