解法一:双重循环,当第一位匹配时,利用循环检查后面是否匹配。这种解法速度的确很慢…
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)
};