問題 : https://oj.leetcode.com/problems/implement-strstr/
我的解答:
int strStr(char *haystack, char *needle) {
if (!*needle) return 0;
if (!*haystack) return -1;
char* ph, *pn;
ph = haystack;
for (int i = 0;*ph; ++i, ++ph)
{
char* py = ph;
pn = needle;
while (*py && *pn && *py == *pn)
{
++py;
++pn;
}
if (!*pn)
return i;
}
return -1;
}
雖然知道代碼的效率有待改進,比如haystack末尾長度少於needle的不用檢測,用KMP等,但是就上面的代碼,我覺得雖然效率低,但是應該可以通過,結果提示Time Limit Exceeded, 我就想是不是我的代碼真的有問題,但是在本地運行好像得到的結果還對呢,這是我的問題,還是online judge的問題呢
改進的方法可以成功,我是想知道這個問題出在哪裡