LeetCode实现 strStr()JavaScript

LeetCode实现 strStr()JavaScript_第1张图片
解法一:双重循环,当第一位匹配时,利用循环检查后面是否匹配。这种解法速度的确很慢…

var strStr = function(haystack, needle) {
    var arr1 = haystack.split('');
    var arr2 = needle.split('');
    if(arr2.length==0)
        return 0;
    for(var i=0;i<arr1.length;i++)
        {
            if(arr1[i]===arr2[0])
                {
                    var t = i;
                    var j;
                    var k;
                    var count = 0;
                    for(j=i,k=0;k<arr2.length;k++,j++)
                        {
                            if(arr1[j]===arr2[k])
                                count++;
                            else
                                break;
                        }
                    if(count==arr2.length)
                        {
                            return t;
                        }
                }
        }
    return -1;
};

解法二:利用indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

var strStr = function(haystack, needle) {
    return haystack.indexOf(needle)
};

你可能感兴趣的:(LeetCode)