力扣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) ==>字符串拼接
相关推荐
weixin_4786897622 分钟前
十大排序算法汇总
java·算法·排序算法
luofeiju1 小时前
使用LU分解求解线性方程组
线性代数·算法
SKYDROID云卓小助手1 小时前
无人设备遥控器之自动调整编码技术篇
人工智能·嵌入式硬件·算法·自动化·信号处理
ysa0510302 小时前
数论基础知识和模板
数据结构·c++·笔记·算法
GEEK零零七2 小时前
Leetcode 1103. 分糖果 II
数学·算法·leetcode·等差数列
今天背单词了吗9802 小时前
算法学习笔记:7.Dijkstra 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·数据结构·笔记·算法
气质、小青年!2 小时前
【排序算法】
c语言·数据结构
重庆小透明3 小时前
力扣刷题记录【1】146.LRU缓存
java·后端·学习·算法·leetcode·缓存
desssq4 小时前
力扣:70. 爬楼梯
算法·leetcode·职场和发展
clock的时钟4 小时前
暑期数据结构第一天
数据结构·算法