Given a string s1
of length n
, find the occurrences of string s2
(having length m
) in s1
.
Example 1:
Input: s1 = "superhero"; s2 = "hero" Output: hero found at 5th position Explanation: "hero" is substring of "superhero".
Example 2:
Input: s1 = "onlycode"; s2 = "code" Output: code found at 4th position Explanation: "code" is a substring of "onlycode".
Code Implementation
//
// main.cpp
// Finding Substring
//
// Created by Himanshu on 19/09/21.
//
#include <iostream>
#include <string>
using namespace std;
void findSubstring (string s1, string s2) {
long i = 0;
long pos = 0;
while (pos != -1) {
pos = s1.find(s2, i);
i = pos + 1;
if (pos != -1){
cout<<s2<<" found at: "<<pos<<endl;
}
}
}
int main() {
string s1 = "onlycode - eat sleep code";
string s2 = "code";
findSubstring(s1, s2);
return 0;
}
Output
code found at: 4 code found at: 21
Time complexity: O(n*m)
Space Complexity: O(1)