- 第一种,javascript原生态函数,108ms
/**
* @param {string} haystack
* @param {string} needle
* @return {number}
*/
var strStr = function(haystack, needle) {
return haystack.indexOf(needle);
};
- 第二种,朴素字符串匹配,108ms
/**
* @param {string} haystack
* @param {string} needle
* @return {number}
*/
var strStr = function(haystack, needle) {
var m = haystack.length;
var n = needle.length;
for(var i=0;i< m-n+1;i++){
for(var j=0;j<n;j++){
if(haystack[i+j]!==needle[j]){
break;
}
}
if(j===n){
return i;
}
}
return -1;
};
3.第三种。