描述:给定两个字符串 haystack
和 needle
。
要求:在 haystack
字符串中找出 needle
字符串出现的第一个位置(从 0
开始)。如果不存在,则返回 -1
。
说明:
- 当
needle
为空字符串时,返回0
。 -
$1 \le haystack.length, needle.length \le 10^4$ 。 -
haystack
和needle
仅由小写英文字符组成。
示例:
输入:haystack = "hello", needle = "ll"
输出:2
解释:"sad" 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 ,所以返回 0 。
输入:haystack = "leetcode", needle = "leeto"
输出:-1
解释:"leeto" 没有在 "leetcode" 中出现,所以返回 -1 。
描述:给定一个非空的字符串 s
。
要求:检查该字符串 s
是否可以通过由它的一个子串重复多次构成。
说明:
-
$1 \le s.length \le 10^4$ 。 -
s
由小写英文字母组成
示例:
输入: s = "abab"
输出: true
解释: 可由子串 "ab" 重复两次构成。
输入: s = "aba"
输出: false
描述:给定两个字符串 a
和 b
。
要求:寻找重复叠加字符串 a
的最小次数,使得字符串 b
成为叠加后的字符串 a
的子串,如果不存在则返回 -1
。
说明:
- 字符串
"abc"
重复叠加0
次是""
,重复叠加1
次是"abc"
,重复叠加2
次是"abcabc"
。 -
$1 \le a.length \le 10^4$ 。 -
$1 \le b.length \le 10^4$ 。 -
a
和b
由小写英文字母组成。
示例:
输入:a = "abcd", b = "cdabcdab"
输出:3
解释:a 重复叠加三遍后为 "abcdabcdabcd", 此时 b 是其子串。
输入:a = "a", b = "aa"
输出:2
- 「0028. 找出字符串中第一个匹配项的下标」习题解析:网页链接、Github 链接
- 「0459. 重复的子字符串」习题解析:网页链接、Github 链接
- 「0686. 重复叠加字符串匹配」习题解析:网页链接、Github 链接