Implement strStr()

    xiaoxiao2023-11-22  161

    1,题目要求

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

    实现strStr()。

    返回haystack中第一次出现针的索引,如果针不是haystack的一部分,则返回-1。

    澄清: 当针是空字符串时我们应该返回什么? 在面试中这是一个很好的问题。

    出于此问题的目的,当needle为空字符串时,我们将返回0。 这与C的strstr()和Java的indexOf()一致。

    2,题目思路

    对于这道题,要求判断一个字符串是否是另一个字符串的子串。

    在实现上,我们可以直接进行简单的比较即可,两层for循环即可解决问题。

    3,代码实现

    int x = []() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); return 0; }(); class Solution { public: int strStr(string haystack, string needle) { //判断一个字符串是否是另一个字符串的子串 if(needle.size() == 0) return 0; for(int i = 0;;i++){ for(int j = 0;;j++){ if(j == needle.size()) return i; if(i+j == haystack.size()) return -1; if(needle[j] != haystack[i+j]) break; } } return -1; } };
    最新回复(0)