link:
leetcode
解題思路:
- 使用雙層迴圈對
haystack
及needle
做比對 - 若比對到不符合的字原則跳出迴圈
- 使用雙層迴圈對
程式碼:
/**
* @param {string} haystack
* @param {string} needle
* @return {number}
*/
const strStr = function(haystack, needle) {
if ((haystack.length === 0 && needle.length === 0) || haystack === needle) {
return 0;
}
let isMatch;
for (var i = 0; i < haystack.length - needle.length + 1; i++) {
isMatch = true;
for (var j = 0; j < needle.length; j++) {
if (haystack[i + j] !== needle[j]) {
isMatch = false;
break;
}
}
if (isMatch) break;
}
return isMatch ? i : -1;
};
- 結果: