力扣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) ==>字符串拼接
相关推荐
lyh13444 分钟前
【SpringBoot自动化部署方法】
数据结构
蒟蒻小袁34 分钟前
力扣面试150题--被围绕的区域
leetcode·面试·深度优先
MSTcheng.1 小时前
【数据结构】顺序表和链表详解(下)
数据结构·链表
Q8137574601 小时前
中阳视角下的资产配置趋势分析与算法支持
算法
yvestine1 小时前
自然语言处理——文本表示
人工智能·python·算法·自然语言处理·文本表示
慢半拍iii1 小时前
数据结构——F/图
c语言·开发语言·数据结构·c++
GalaxyPokemon2 小时前
LeetCode - 148. 排序链表
linux·算法·leetcode
iceslime2 小时前
旅行商问题(TSP)的 C++ 动态规划解法教学攻略
数据结构·c++·算法·算法设计与分析
aichitang20243 小时前
矩阵详解:从基础概念到实际应用
线性代数·算法·矩阵
OpenCSG4 小时前
电子行业AI赋能软件开发经典案例——某金融软件公司
人工智能·算法·金融·开源