/**
* Index: 28
* Title: Implement strStr()
* Author: ltree98
**/
字符串的模式匹配
通过这一道题,可以练习一下这些匹配算法。
BF算法(Brute Force - 暴风算法) 时间复杂度 O(m*n)
最普通的模式匹配算法。
依次比较,如果匹配失败,从头再来。
可以看出,是一个很暴力的算法。
加了两个小剪枝,
1. 如果匹配串长度大于原串,直接返回-1
2. 如果两串长度相等,直接判断值是否相等,返回相应值。(不加会TLE)
3. 如果匹配串为空,返回0
class Solution {
public:
int strStr(string haystack, string needle) {
int lenHs = haystack.length();
int lenNe = needle.length();
if(lenHs < lenNe)
return -1;
else if(lenHs == lenNe)
if(haystack == needle)
return 0;
else
return -