Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Latest commit

 

History

History
History
62 lines (57 loc) · 1.57 KB

File metadata and controls

62 lines (57 loc) · 1.57 KB
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package leetcode.all.solution1_100;
/**
* 28. 实现strStr().
* 实现 strStr() 函数。
*
* 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。
*
* 示例 1:
* 输入: haystack = "hello", needle = "ll"
* 输出: 2
*
* 示例 2:
* 输入: haystack = "aaaaa", needle = "bba"
* 输出: -1
*
* 说明:
*
* 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。
*
* 对于本题而言,当 needle 是空字符串时我们应当返回 0 。这与C语言的 strstr() 以及 Java的 indexOf() 定义相符。
*
* @author 刘壮飞
* https://github.com/zfman.
* https://blog.csdn.net/lzhuangfei.
*/
public class Solution28 {
/**
* 暴力法
* @param haystack
* @param needle
* @return
*/
public int strStr(String haystack, String needle) {
int len1=haystack.length();
int len2=needle.length();
if(len2==0) return 0;
else if(len1==0) return -1;
int i=0,j=0;
while(i<len1&&j<len2){
if(haystack.charAt(i)==needle.charAt(j)){
i++;
j++;
}else{
i=i-j+1;
j=0;
}
}
if(j>=len2) return i-len2;
return -1;
}
public static void main(String[] args) {
String haystack="";
String needle="ll";
int r=new Solution28().strStr(haystack,needle);
System.out.println(r);
}
}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.