-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprefixOfAnyWord.cpp
More file actions
54 lines (48 loc) · 1.57 KB
/
prefixOfAnyWord.cpp
File metadata and controls
54 lines (48 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
Given a sentence that consists of some words separated by a single space, and a searchWord.
You have to check if searchWord is a prefix of any word in sentence.
Return the index of the word in sentence where searchWord is a prefix of this word (1-indexed).
If searchWord is a prefix of more than one word, return the index of the first word (minimum index). If there is no such word return -1.
A prefix of a string S is any leading contiguous substring of S.
Example 1:
Input: sentence = "i love eating burger", searchWord = "burg"
Output: 4
Explanation: "burg" is prefix of "burger" which is the 4th word in the sentence.
Example 2:
Input: sentence = "this problem is an easy problem", searchWord = "pro"
Output: 2
Explanation: "pro" is prefix of "problem" which is the 2nd and the 6th word in the sentence, but we return 2 as it's the minimal index.
*/
class Solution {
public:
int isPrefixOfWord(string sentence, string searchWord) {
vector<string>v;
string t="";
sentence+=" ";
for(int i=0;i<sentence.length();i++)
{
if(sentence[i]==' ')
{
v.push_back(t);
t="";
}
else
t+=sentence[i];
}
int flag=0;
int i;
int len=searchWord.length();
for(i=0;i<v.size();i++)
{
if(v[i].substr(0,len)==searchWord)
{
flag=1;
break;
}
}
if(flag==0)
return -1;
else
return i+1;
}
};