Сложность: easy
Учитывая две строки needle и haystack, верните индекс первого вхождения needle в haystack, либо -1, если needle не является частью haystack.
Пример:
Input: haystack = "sadbutsad", needle = "sad" Output: 0
👨💻 Алгоритм:
1⃣Если needle длиннее haystack, возвращаем -1.
2⃣Если строки равны по длине, сравниваем напрямую.
3⃣Иначе перебираем haystack, берём подстроку длины needle и сравниваем с needle.
😎 Решение:
class Solution {
public:
int strStr(string haystack, string needle) {
if(haystack.size() < needle.size()) return -1;
if(haystack.size() == needle.size()) {
if(haystack == needle) return 0;
else return -1;
}
for(int i = 0; i <= haystack.size() - needle.size(); i++) {
string s = haystack.substr(i, needle.size());
if(s == needle) {
return i;
}
}
return -1;
}
};Ставь 👍 и забирай 📚 Базу знаний