给定一个s字符串和一个n字符串,在s字符串中找出n字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1
时间: 2024-02-10 22:10:43 浏览: 66
好的,这个问题可以采用字符串匹配算法来解决,以下是一个基于暴力匹配的示例代码:
```
public static int findFirstAppearance(String s, String n) {
int slen = s.length();
int nlen = n.length();
if (slen < nlen) {
return -1;
}
for (int i = 0; i <= slen - nlen; i++) {
boolean flag = true;
for (int j = 0; j < nlen; j++) {
if (s.charAt(i + j) != n.charAt(j)) {
flag = false;
break;
}
}
if (flag) {
return i;
}
}
return -1;
}
```
这个方法的时间复杂度为 O(m*n),其中m为s字符串的长度,n为n字符串的长度。如果需要更高效的实现,可以采用KMP、BM、Sunday等算法来优化。
阅读全文