【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
        
相关推荐
良木生香几秒前
【诗句结构-初阶】详解栈和队列(2)---队列
c语言·数据结构·算法·蓝桥杯
yaoh.wang2 分钟前
力扣(LeetCode) 69: x 的平方根 - 解法思路
python·算法·leetcode·面试·职场和发展·牛顿法·二分法
点亮一颗LED(从入门到放弃)3 分钟前
设备树驱动(6)
linux
!停3 分钟前
数据在内存中的存储(2)
开发语言·c++·算法
认真学GIS4 分钟前
逐3小时降水量!全国2421个气象站点1951-2024年逐3小时尺度长时间序列降水量(EXCEL格式)数据
人工智能·算法·机器学习
加勒比之杰克6 分钟前
【操作系统原理】软硬链接与动静态库
linux·os·动静态库·软硬链接
智航GIS8 分钟前
ArcGIS大师之路500技---039趋势面法
算法·arcgis
智航GIS9 分钟前
ArcGIS大师之路500技---038反距离权重法
算法·arcgis
KingRumn10 分钟前
Linux进程间通信之消息队列(POSIX)实现篇
linux·服务器
loosed11 分钟前
ubuntu navicat17连接本机msyql8 /run/mysqld/mysqld.sock问题
linux·mysql·ubuntu·adb