leetcode/notes/src/repeated_substring_pattern.md

692 B
Raw Blame History

重复的子字符串

459. Repeated Substring Pattern

给定一个非空的字符串判断它是否可以由它的一个子串重复多次构成。给定的字符串只含有小写英文字母并且长度不超过10000。

示例:

输入: "abab"

输出: True

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

方法一

将两个 s 拼接在一起,如果里面还出现一个 s 的话,就认为是由重复字符串构成的。

方法二

假设 s 是由 n 个 x 构成的,那么它的最长公共前后缀的长度是 (n - 1) * len(x)

也就是说 len(s) % (len(s) - (n - 1) * len(x)) == 0