【leetcode】459.重复的子字符串

文章目录

题目

459.重复的子字符串

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

示例 1:

输入: s = "abab"

输出: true

解释: 可由子串 "ab" 重复两次构成。

示例 2:

输入: s = "aba"

输出: false

示例 3:

输入: s = "abcabcabcabc"

输出: true

解释: 可由子串 "abc" 重复四次构成。 (或子串 "abcabc" 重复两次构成。)

题解

枚举

python 复制代码
class Solution(object):
    def repeatedSubstringPattern(self, s):
        """
        :type s: str
        :rtype: bool
        """
        # 枚举
        n = len(s)
        for i in range(1, n // 2 + 1):
            if n % i == 0:
                # 获取当前子串
                substring = s[:i]
                # 检查是否能重复构成整个字符串
                if substring * (n // i) == s:
                    return True
        return False
        
相关推荐
zzzsde几秒前
【数据结构】队列
数据结构·算法
芒克芒克10 分钟前
LeetCode 面试经典 150 题:删除有序数组中的重复项(双指针思想解法详解)
算法
青 .10 分钟前
数据结构---二叉搜索树的实现
c语言·网络·数据结构·算法·链表
小猪咪piggy17 分钟前
【JavaEE】(24) Linux 基础使用和程序部署
linux·运维·服务器
Haven-30 分钟前
Linux常见命令
linux·基本指令
IT 小阿姨(数据库)42 分钟前
PgSQL中pg_stat_user_tables 和 pg_stat_user_objects参数详解
linux·运维·数据库·sql·postgresql·oracle
MChine慕青1 小时前
顺序表与单链表:核心原理与实战应用
linux·c语言·开发语言·数据结构·c++·算法·链表
虎头金猫1 小时前
如何在Linux上使用Docker在本地部署开源PDF工具Stirling PDF:StirlingPDF+cpolar让专业操作像在线文档一样简单
linux·运维·ubuntu·docker·pdf·开源·centos
塔中妖1 小时前
【华为OD】查找接口成功率最优时间段
算法·链表·华为od
塔中妖2 小时前
【华为OD】最大子矩阵和
算法·华为od·矩阵