You are given two strings A and B. Find the index of the first occurrence of A in B. If A is not present in B, then return -1.
For Example:A = “bc”, B = “abcddbc”.
String “A” is present at index 1, and 5(0-based index), but we will return 1 as it is the first occurrence of “A” in string “B”.
Follow Up:
Can you solve this in linear time and space complexity?
The first line contains an integer 'T' which denotes the number of test cases or queries to be run. Then, the T test cases follow.
The first and only line of each test case contains two strings A and B, separated by a single space.
Output format:
For each test case, print the index of the first occurrence of A in B, if string A is not present in string B then print -1.
Note:
You do not need to print anything. It has already been taken care of. Just implement the given function.
1 <= T <= 100
1 <= |A|, |B| <= 5 * 10^4
Time limit: 1 second
2
ninjas codingninjas
code codingninjas
6
-1
For the first test case, “ninjas” is present at the 6th index of “codingninjas”.
For the second test case, “code” is not present in “codingninjas”.
2
e add
en engagement
-1
0
Think of brute force solution by traversing the string B and checking for the occurrence of A.
O(N * M), where N is the length of the string B and M is the length of string A.
In the worst case, we will be traversing the whole string B, and for each index of B, we will traverse the string A. Hence the time complexity is O(N * M).
O(1).
Constant extra space is required.