标签:
字符串查找(又称查找子字符串),是字符串操作中一个很有用的函数。你的任务是实现这个函数。
对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。
如果不存在,则返回 -1
。
样例
如果 source = "source"
和
target = "target"
,返回 -1
。
如果 source = "abcdabcdefg"
和
target = "bcd"
,返回 1
。
class Solution { public: /** * Returns a index to the first occurrence of target in source, * or -1 if target is not part of source. * @param source string to be scanned. * @param target string containing the sequence of characters to match. */ int strStr(const char *source, const char *target) { // write your code here int result = -1; int i = 0; int j = -1; if (source == nullptr || target == nullptr) { return result; } if ( *target == '\0') return i; while (*source !='\0') { ++j; if(*source == *target) { i = j; const char *p = source; const char *q = target; while (*p == *q) { if (*(q+1) =='\0') { return i; } p++; q++; } } ++source; ++i; } return result; } };
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/susser43/article/details/46711291