每日算法 找出字符串中第一个匹配项的下标
例题:28. 找出字符串中第一个匹配项的下标
题目描述:
给你两个字符串haystack
和needle
,请你在haystack
字符串中找出needle
字符串的第一个匹配项的下标(下标从 0 开始)。如果needle
不是haystack
的一部分,则返回-1
。
代码:
//暴力穷举版
class Solution {
public int strStr(String haystack, String needle) {
int hlength = haystack.length();
int nlength = needle.length();
for (int i = 0; i + nlength-1 < hlength; i++) {
boolean flag = true;
for (int j = 0; j < nlength; j++) {
if (haystack.charAt(i + j) != needle.charAt(j)) {
flag = false;
break;
}
}
if (flag) {
return i;
}
}
return -1;
}
}
还有一个KMP算法版本,但我目前还不会(
评论(0)