class Solution {
public:
char *strStr(char *haystack, char *needle) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
if (haystack == NULL || needle == NULL)
{
return NULL;
}
else if (*needle == '\0')
{
return haystack;
}
int lenHayStack = strlen(haystack);
int lenNeedle = strlen(needle);
int diff = lenHayStack - lenNeedle + 1;
char *p = haystack;
bool isFound = false;
for (int i = 0; i < diff; ++i)
{
if (strEqual(p, needle))
{
isFound = true;
break;
}
++p;
}
p = !isFound ? NULL : p;
return p;
}
bool strEqual(const char *s1, const char *s2)
{
while (*s2 != '\0' && *s1 == *s2)
{
++s1;
++s2;
}
return *s2 == '\0';
}
};
LeetCode-Implement strStr()
最新推荐文章于 2024-09-30 13:43:16 发布