Implement strStr()

Apr 29, 2016


Implement strStr()

题目描述

Implement strStr().

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

解法

代码如下:

public static int strStr( String haystack, String needle ) {
    if( haystack == null || needle == null ) return -1;
    int m = haystack.length(), n = needle.length();
    for( int i = 0; i <= m - n; ++i ) {
        int j = 0;
        for( ; j < n; ++j )
            if( haystack.charAt( i + j ) != needle.charAt( j ) )
                break;
        if( j == n )
            return i;
    }
    return -1;
}

思考过程:

首先考虑两个参数字符串分别为空的情况.

再者使用两重循环遍历查找, 如果查找成功立即返回.

如果遍历过程没有返回, 说明匹配不成功, 返回-1.

时空复杂度: 时间复杂度是O(m*n), 空间复杂度是O(1)


上一篇博客:3Sum Closest
下一篇博客:Reverse Nodes in k-Group