题目
实现 strStr() 函数。 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串出现的第一个位置(下标从 0 开始)。如果不存在,则返回 -1 。
思路
这题看到能想起来数据结构学的“看毛片算法”——KMP,无奈不会写,就用了暴力破解,循环比较即可,依然参考了LeetCode官方题解。
代码
class Solution {
public int strStr(String haystack, String needle) {
int n = haystack.length();
int m = needle.length();
for (int i = 0; i + m <= n; i++) {
boolean flag = true;
for (int j = 0; j < m; j++) {
if (haystack.charAt(i + j) != needle.charAt(j)) {
flag = false;
break;
}
}
if (flag == true) {
return i;
}
}
return -1;
}
}
|