程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> algorithm-關於leetcode上的Implement Strstr()的一個疑問

algorithm-關於leetcode上的Implement Strstr()的一個疑問

編輯:編程綜合問答
關於leetcode上的Implement Strstr()的一個疑問

問題 : 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的問題呢

最佳回答:


改進的方法可以成功,我是想知道這個問題出在哪裡

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved