力扣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;
}
python 复制代码
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) ==>字符串拼接
相关推荐
FL16238631293 分钟前
基于C#winform部署软前景分割DAViD算法的onnx模型实现前景分割
开发语言·算法·c#
baizhigangqw40 分钟前
启发式算法WebApp实验室:从搜索策略到群体智能的能力进阶
算法·启发式算法·web app
C雨后彩虹1 小时前
最多等和不相交连续子序列
java·数据结构·算法·华为·面试
cpp_25012 小时前
P2347 [NOIP 1996 提高组] 砝码称重
数据结构·c++·算法·题解·洛谷·noip·背包dp
Hugh-Yu-1301232 小时前
二元一次方程组求解器c++代码
开发语言·c++·算法
编程大师哥2 小时前
C++类和对象
开发语言·c++·算法
今天又在写代码3 小时前
数据结构v2
数据结构
加农炮手Jinx3 小时前
LeetCode 146. LRU Cache 题解
算法·leetcode·力扣
Rabitebla3 小时前
C++ 和 C 语言实现 Stack 对比
c语言·数据结构·c++·算法·排序算法
加农炮手Jinx3 小时前
LeetCode 128. Longest Consecutive Sequence 题解
算法·leetcode·力扣