28. 实现 strStr() JavaScript实现 (不用kmp)

66 阅读1分钟

28. 实现 strStr()

这里就是实现js中的indexOf()的功能。其实就是字符串匹配问题(KMP问题),但是可以用其他的方法进行代替。

  • 将原来的字符串haystack利用needle进行分割,如果haystack中存在,那么就会将字符串截断。并且这个位置就是截断之后的字符串的第一个小字符串的长度。
  • 如果不存在,那么就不会截断字符串haystack。
var strStr = function(haystack, needle) {
    // 用needle去截断字符串haystack,返回的是一个字符数组
    // 根据数组的长度进行判断
    if(needle){
        let res = haystack.split(needle)
        if(res.length == 1){
            return -1
        }else{
            return res[0].length
        }
    }else{
        return 0
    }
};