LeetCode每日一题——重复的子字符串

题目要求:

给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。

示例 1:

复制代码
输入: s = "abab"
输出: true
解释: 可由子串 "ab" 重复两次构成。

示例 2:

复制代码
输入: s = "aba"
输出: false

示例 3:

复制代码
输入: s = "abcabcabcabc"
输出: true
解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)

代码实现:

bool repeatedSubstringPattern(char* s) {

int n = strlen(s);//获取字符串s的长度

for (int i = 1; i * 2 <= n; ++i) {//子字符串最少重复两次得到原字符串,防止越界访问

if (n % i == 0) {

bool match = true;//对match初始化为true

for (int j = i; j < n; ++j) {

if (s[j] != s[j - i]) {

match = false;

break;//不相等时跳出内层循环,避免无效试错

}

}

if (match) {

return true;//此语句执行后,则不会执行之后的程序

}

}

}

return false;//所有子串尝试后都不匹配,返回false

}

作者:力扣官方题解

来源:力扣(LeetCode)

相关推荐
handler016 分钟前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
minglie113 分钟前
实数列的常用递推模式
算法
我星期八休息28 分钟前
IT疑难杂症诊疗室:AI时代工程师Superpowers进化论
linux·开发语言·数据结构·人工智能·python·散列表
代码小书生32 分钟前
math,一个基础的 Python 库!
人工智能·python·算法
AI科技星34 分钟前
全域数学·数术本源·高维代数卷(72分册)【乖乖数学】
人工智能·算法·数学建模·数据挖掘·量子计算
生成论实验室40 分钟前
《事件关系阴阳博弈动力学:识势应势之道》第一篇:生成正在发生——从《即事经》到事件-关系网络
人工智能·科技·算法·架构·创业创新
漂流瓶jz44 分钟前
UVA-1152 和为0的4个值 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·二分查找·题解·aoapc·算法竞赛入门经典·uva
leoufung1 小时前
LeetCode 76:Minimum Window Substring 题解与滑动窗口思维详解
算法·leetcode·职场和发展
小O的算法实验室1 小时前
2026年IEEE TETCI,山区环境下基于双种群进化的协同无人机巡逻任务协同优化,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
你撅嘴真丑1 小时前
map 与 set容器的应用--话题焦点人物
数据结构