题目描述
实现 strStr() 函数。
给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
样例
示例 1:
输入: haystack = "hello", needle = "ll"
输出: 2
示例 2:
输入: haystack = "aaaaa", needle = "bba"
输出: -1
算法
(暴力枚举) $O(n^2)$
C++ 代码
class Solution {
public:
int strStr(string h, string n) {
if(n.empty()) return 0;
if(h.empty() || h.size() < n.size()) return -1;
for(int i = 0; i < h.size(); ++i)
{
int j = 0, index = i;
while(j < n.size() && h[index] == n[j])
{
++j; ++index;
}
if(j == n.size()) return i;
}
return -1;
}
};