1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| function findSubStrIndex(str, subStr) {
let i = 0;
let j = 0;
let index = -1;
while (i < str.length) { const isEqual = str[i] === subStr[j]; if (isEqual && index === -1) { index = i; i++; j++; } else if (index !== -1) { if (isEqual) { i++; j++; } else { i = index + 1; j = 0; index = -1; } } else { i++; }
if (j === subStr.length) break; }
return j === subStr.length ? index : -1; }
console.log(findSubStrIndex("abbab", "bba"));
|