Problem 28

Implement strStr()

Posted by Ruizhi Ma on June 16, 2019

问题描述

Implement strStr().

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

Example 1:

Input: haystack = “hello”, needle = “ll” Output: 2 Example 2:

Input: haystack = “aaaaa”, needle = “bba” Output: -1 Clarification:

What should we return when needle is an empty string? This is a great question to ask during an interview.

For the purpose of this problem, we will return 0 when needle is an empty string. This is consistent to C’s strstr() and Java’s indexOf().

解决思路

使用SubString函数,轻松破之。

代码

package leetcode;

public class ImplementstrStr {
    public int strStr(String haystack, String needle) {

        int len1 = haystack.length();
        int len2 = needle.length();

        if (len1 < len2) return -1;

        if(len2 == 0) return 0;

        for (int i = 0; i <= len1 - len2; i++){
            if (needle.equals(haystack.substring(i,i+len2))) {
                return i;
            }
        }

        return -1;
    }
}