Implement strStr()

来源:互联网 发布:网络教育学生能当兵吗 编辑:程序博客网 时间:2024/06/11 23:04

Implement strStr().

Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

Update (2014-11-02):
The signature of the function had been updated to return the index instead of the pointer. If you still see your function signature returns achar * or String, please click the reload button to reset your code definition.


题目解析:

1、这个方法是比较暴力的解决方法,KMP的方法可以进行加速

2、实现的时候注意一些边界。


#include <iostream>using namespace std;int strStr(char *haystack, char *needle) {int lenh = strlen(haystack);int lenn = strlen(needle);if(lenn == 0)return 0;if(lenh < lenn || lenh == 0)return -1;int occurrence = 0;int i,j;for(i=0;i<=lenh-lenn;i++){if(haystack[i] == needle[0]){occurrence = i;for(j=1;j<lenn;j++){if(haystack[i+j] != needle[j]){break;}}if(j == lenn){return occurrence;}}}if(i == lenh-lenn+1)return -1;}int main(void){char *haystack = "";char *needle = "";cout << strStr(haystack, needle) << endl;system("pause");return 0;}


0 0
原创粉丝点击