【JS】實現strStr() 、實現indexOf()
阿新 • • 發佈:2018-12-20
給定一個 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; };