题目: 实现 strStr() 函数。
给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。题目链接
- JavaScript一句话解法
/**
* @param {string} haystack
* @param {string} needle
* @return {number}
*/
var strStr = function(haystack, needle) {
return needle.length>0?haystack.indexOf(needle):0;
};
- 手写indexOf方法
/**
* @param {string} haystack
* @param {string} needle
* @return {number}
*/
var strStr = function(haystack, needle) {
const len = needle.length
if(len===0) return 0;
for(let index=0;index<haystack.length;index++){
if(haystack[index]===needle[0]){
if(haystack.slice(index, index+len)===needle){
return index;
}
}
}
return -1;
};
两种方法执行时间差不多