This commit is contained in:
whai 2024-01-05 17:55:39 +08:00
parent 418bbabea8
commit 8765a0f989

View File

@ -0,0 +1,54 @@
package cn.whaifree.leetCode.String;
import org.junit.Test;
/**
* 28. 找出字符串中第一个匹配项的下标
*
* 给你两个字符串 haystack needle 请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标下标从 0 开始如果 needle 不是 haystack 的一部分则返回 -1
*
* 示例 1
*
* 输入haystack = "sadbutsad", needle = "sad"
* 输出0
* 解释"sad" 在下标 0 6 处匹配
* 第一个匹配项的下标是 0 所以返回 0
* 示例 2
*
* 输入haystack = "leetcode", needle = "leeto"
* 输出-1
* 解释"leeto" 没有在 "leetcode" 中出现所以返回 -1
*
* 提示
* 1 <= haystack.length, needle.length <= 104
* haystack needle 仅由小写英文字符组成
*/
public class LeetCode28 {
@Test
public void test() {
String haystack = "abc";
String needle = "bc";
int i = new Solution().strStr(haystack, needle);
System.out.println(i);
}
class Solution {
public int strStr(String haystack, String needle) {
int begin = 0;
int length = needle.length();
int end = begin + length;
while (end <= haystack.length()) {
if (haystack.substring(begin, end).equals(needle)) {
return begin;
}
begin++;
end++;
}
return -1;
}
}
}