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.

Update (2014-11-02):
The signature of the function had been updated to return the index instead of the pointer. If you still see your function signature returns a char * or String, please click the reload button  to reset your code definition.

暴力法,可以用KMP解法

public class Solution {
  public int strStr(String haystack, String needle) {
    if (needle.isEmpty()) {
      return 0;
    }
    int length = haystack.length() - needle.length() + 1;
    for (int i = 0; i < length; i++ ) {
      int j = 0;
      for (; j < needle.length(); j++) {
        if (needle.charAt(j) != haystack.charAt(i + j)) {
          break;
        }
      }
      if (j == needle.length()) {
        return i;
      }
    }
    return -1;
  }
}

posted on 2015-05-28 08:40  shini  阅读(86)  评论(0编辑  收藏  举报

导航