class Solution {
public:
char* strStr(const char *str, const char *target)
{
if (!*target) return (char*)str;
char *p1 = (char*)str, *p2 = (char*)target;
char *p1Adv = (char*)str;
while (*p2)
{
p1Adv++;
p2++;
}
p1Adv--;//当它指向最后一个字符的时候,长度刚刚为target长度
while (*p1Adv)
{
char *p1Begin = p1;
p2 = (char*)target;
while (*p1 && *p2 && *p1 == *p2) {
p1++;
p2++;
}
if (!*p2)
return p1Begin;
p1 = p1Begin + 1;
p1Adv++;
}
return NULL;
}
};
AC通过。