首页 > 代码库 > 28. Implement strStr()

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.

非常容易的一道题目,注意各种特殊情况,先列举出corner case,再进行编码。学习参考经典实现。

这种关于字符串操作类的题目在面试时必须能够倒背如流。

int strStr(char* haystack, char* needle) {
    if (haystack == NULL || needle == NULL)
        return -1;
        
    for (int i = 0; ; ++i) {
        for (int j = 0; ; ++j) {
            if (needle[j] == \0)
                return i;
            else {
                if (haystack[i+j] == \0)
                    return -1;
                if (haystack[i+j] != needle[j])
                    break;
            }
        }
    }
}

 

28. Implement strStr()