嗯~這個題目~
可以用strstr()嗎? (被打)
但還是偷偷用了strncmp XDDDDDD
後來良心不安再寫了一個沒有用strncmp的版本
但看討論好像跟什麼KMP有關 (不是KMT國民黨XD)
好懶得動腦喔可以不要管它嗎~~(滾來滾去滾來滾去)
Implement strStr()
int strStr(char* haystack, char* needle) {
if (haystack == NULL || needle == NULL)
return -1;
int length = strlen(haystack);
int lengthIn = strlen(needle);
if(length < lengthIn)
return -1;
else if (length == 0 && lengthIn ==0)
return 0;
int i;
for(i=0;i<=length - lengthIn;i++)
{
printf("[%d][%s]\n",i,haystack+i);
#if 1
int j;
for (j=0;j<lengthIn;j++)
{
// printf("[%d][%d][%c][%c]\n",i,j,haystack[i+j],needle[j]);
if(haystack[i+j]!=needle[j])
break;
}
if (j==lengthIn)
return i;
#else
if (strncmp(haystack+i,needle,lengthIn)==0)
return i;
#endif
}
return -1;
}
沒有留言:
張貼留言