您的位置:首页 > 其它

lintcode ----字符串查找

2016-05-18 17:34 531 查看
int strStr(const char *source, const char *target) {
// write your code here
int i=0;
int j=-1;
if(source==NULL||target==NULL)//哪一个为空都找不到首个位置
return -1;
if(*target=='\0')//这时候source不为NULL,无论source是什么,空串从0开始匹配
return i;
while(*source!='\0')//source到末尾
{
j++;			//需要返回的位置后移
if(*source==*target)//首字母相同
{
i=j;
const char *p = source;//申明两个指针分别指向source 和 target
const char *q = target;
while(*p==*q)
{
if(*(q+1)=='\0')   //直到target到达末尾
return i;
else				//否则指针后移
{
p++;
q++;
}
}
}
source++;					//不相等,source后移
}
return -1;						//没找到,返回-1
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: