28. Implement strStr()

Posted CodesKiller

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了28. Implement strStr()相关的知识,希望对你有一定的参考价值。

Implement strStr().

Returns the index of the first occurrence of needle in haystack, or -1 if needle is not part of haystack.

 此题的想法是遍历一遍haystack数组,当遍历到cur的元素和needle第一个char一样的时候,看haystack的子字符串是否和needle,代码如下:

 1 public class Solution {
 2     public int strStr(String haystack, String needle) {
 3         int len = haystack.length();
 4         int index = -1;
 5         if(needle.length()==0) return 0;
 6         if(haystack.length()==0) return index;
 7         for(int i=0;i<len;i++){
 8             if(haystack.charAt(i)==needle.charAt(0)){
 9                 if(ismatch(haystack,needle,i)){
10                     index = i;
11                     break;
12                 }
13             }
14         }
15         return index;
16     }
17     public boolean ismatch(String haystack,String needle,int i){
18         int k = 0;
19         while(k<needle.length()&&(k+i)<haystack.length()&&haystack.charAt(i+k)==needle.charAt(k)){
20             k++;
21         }
22         if(k==needle.length()) return true;
23         return false;
24     }
25 }

 本题也可以使用kmp的做法来做,希望第三遍刷的时候能掌握。

 

 

以上是关于28. Implement strStr()的主要内容,如果未能解决你的问题,请参考以下文章

leetcode 28. Implement strStr() 实现strStr()

28. Implement strStr()

28. Implement strStr()

[LeetCode] 28. Implement strStr() 实现strStr()函数

28. Implement strStr()

28. Implement strStr()(js)