28
This commit is contained in:
parent
418bbabea8
commit
8765a0f989
54
src/main/java/cn/whaifree/leetCode/String/LeetCode28.java
Normal file
54
src/main/java/cn/whaifree/leetCode/String/LeetCode28.java
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user