码迷,mamicode.com
首页 > 其他好文 > 详细

28. Implement strStr()

时间:2017-02-11 10:56:51      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:style   content   元素   kmp   strstr   question   pre   字符   for   

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()

标签:style   content   元素   kmp   strstr   question   pre   字符   for   

原文地址:http://www.cnblogs.com/codeskiller/p/6388620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!