一、28.找出字符串中第一个匹配项的下标
1.题目描述
2.代码
3.思路
暴力匹配:
让字符串 needle 与字符串 haystack 的所有长度为 m 的子串均匹配一次。为了减少不必要的匹配,我们每次匹配失败即立刻停止当前子串的匹配,对下一个子串继续匹配。如果当前子串匹配成功,我们返回当前子串的开始位置即可。如果所有子串都匹配失败,则返回 −1。
二、459.重复的子字符串
1.题目描述
给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。
2.代码
3.思路
如果一个字符串 s
是由某个子字符串重复多次构成的,那么将两个 s
拼接起来得到的新字符串 str
中,去掉 str
的第一个字符和最后一个字符后形成的子串,必然包含原始字符串 s
。
将字符串 s 自身拼接,得到新的字符串 str String str = s + s; 截取 str 去掉第一个字符和最后一个字符后的子串,检查该子串是否包含原始字符串 s 。