s0028
This commit is contained in:
parent
381117a18a
commit
f820cf2f8c
@ -0,0 +1,13 @@
|
|||||||
|
#ifndef S0028_FIND_THE_INDEX_OF_THE_FIRST_OCCURRENCE_IN_A_STRING
|
||||||
|
#define S0028_FIND_THE_INDEX_OF_THE_FIRST_OCCURRENCE_IN_A_STRING
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
class Solution {
|
||||||
|
public:
|
||||||
|
int strStr(string haystack, string needle);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -0,0 +1,18 @@
|
|||||||
|
#include "s0028_find_the_index_of_the_first_occurrence_in_a_string.hpp"
|
||||||
|
|
||||||
|
int Solution::strStr(string haystack, string needle) {
|
||||||
|
int haystackLen = haystack.length();
|
||||||
|
int needleLen = needle.length();
|
||||||
|
for (int i{0}; i < haystackLen; ++i) {
|
||||||
|
for (int j{0}, iTmp = i; j < needleLen; ++j) {
|
||||||
|
if (haystack[iTmp] != needle[j]) {
|
||||||
|
break;
|
||||||
|
} else if (j == needleLen - 1) {
|
||||||
|
return i;
|
||||||
|
} else {
|
||||||
|
++iTmp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
#include "s0028_find_the_index_of_the_first_occurrence_in_a_string.hpp"
|
||||||
|
|
||||||
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
|
TEST(Problem28, Case1) {
|
||||||
|
string haystack{"sadbutsad"};
|
||||||
|
string needle{"sad"};
|
||||||
|
int o{0};
|
||||||
|
Solution solution;
|
||||||
|
EXPECT_EQ(solution.strStr(haystack, needle), o);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(Problem28, Case2) {
|
||||||
|
string haystack{"leetcode"};
|
||||||
|
string needle{"leeto"};
|
||||||
|
int o{-1};
|
||||||
|
Solution solution;
|
||||||
|
EXPECT_EQ(solution.strStr(haystack, needle), o);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user