/* Implement strStr(). Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack. */ 解决思路: 遍历haystack与needle,时间复杂度O(n^2)
class Solution { public: int strStr(string haystack, string needle) { if(haystack.size()==0 && needle.size()==0) return 0; for(int i;i<haystack.size();i++){ bool label =true; for(int j=0;j<needle.size();j++) if(haystack[i+j] != needle[j]) { label = false; break;} if(label) return i; } return -1; } };
discussion:
题目类似字符串匹配,可参考KMP算法 https://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm
时间: 2024-11-01 15:10:19