字符串查找(又稱查找子字符串),是字符串操作中一個很有用的函數。你的任務是實現這個函數。
對於一個給定的 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; } };
版權聲明:本文為博主原創文章,未經博主允許不得轉載。