Implement strStr():

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

执行两次遍历即可。算法复杂度在最坏的情况下不会超过O(mn)。

class Solution {
public:
    bool check(int t,string a,string b){
        if(t + b.size() > a.size()) return false;
        for(int i = 0; i < b.size(); i++){
            if(b[i] != a[i+t]) return false;
        }
        return true;
    }
    int strStr(string haystack, string needle) {
        int len1 = haystack.size(), len2 = needle.size();
        if(len1<len2) return -1;
        if(len2== 0) return 0;
        for(int i = 0; i < len1; i++){
            if(haystack[i] == needle[0]){
                if(check(i,haystack,needle)) return i;
            }
        }
        return -1;
    }
};

相关文章:

  • 2021-08-21
  • 2022-02-10
  • 2022-01-23
  • 2021-10-26
  • 2022-12-23
猜你喜欢
  • 2021-06-10
  • 2021-08-06
  • 2021-12-05
  • 2021-07-18
  • 2021-06-28
  • 2022-01-15
相关资源
相似解决方案