1. 程式人生 > >【JS】實現strStr() 、實現indexOf()

【JS】實現strStr() 、實現indexOf()

給定一個 haystack 字串和一個 needle 字串,在 haystack 字串中找出 needle 字串出現的第一個位置 (從0開始)。如果不存在,則返回  -1。

示例 1: 輸入: haystack = "hello", needle = "ll" 輸出: 2

示例 2: 輸入: haystack = "aaaaa", needle = "bba" 輸出: -1

示例 3: 輸入: haystack = "abc", needle = "" 輸出: 0

解法一:這個函式在JS中對應的是indexOf(),實現的方式比容易,遍歷一次就可以了。先找到第一個相等的字元,字串haystack 向後擷取needle長度,相等就返回此字元出現的位置

/**
 * @param date 2018/11/11 下午
 */
var strStr = function(haystack, needle) {
    if(haystack==needle || needle==""){
        return 0;
    }
var arrn = needle.split("")
var len = needle.length;
var newstr = "",ii;
for(var i in haystack){
    if(haystack[i]==arrn[0]){
        ii=parseInt(i)
        newstr = haystack.substr(ii,len)
        if(newstr==needle){
            return ii;
        }
    }
}
return -1;
};