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 (sj != sj - i) {

match = false;

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

}

}

if (match) {

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

}

}

}

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

}

作者:力扣官方题解

来源:力扣(LeetCode)

相关推荐
Chester_19996 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
裕晟资质规划7 小时前
武器装备科研生产单位保密资质申请方法论:条件模型与流程拆解
人工智能·算法
en.en..8 小时前
C语言 标准输入 / 输出缓冲区
算法
吃好睡好便好10 小时前
查找函数的使用
学习·算法·matlab·生活·查找函数
学习星球10 小时前
单调栈——从“找下一个更大的“到柱状图中的最大矩形
数据库·c++·算法·leetcode·xcode
专注仿真11 小时前
Spring AI 实现智能对话系统项目指南
数据结构·spring·机器学习
靠沿11 小时前
贪心算法专题(二)
算法·贪心算法
间歇性努力持续性发呆的野生快乐选手12 小时前
高级数据结构:树状数组
数据结构
猎头南楼12 小时前
具身智能模型部署方向的能力要求与技术栈梳理
人工智能·深度学习·算法
啥都想学点的研究生13 小时前
一篇文章讲清楚:线性回归问题的求解——正规方程法
算法·机器学习·线性回归