-
Notifications
You must be signed in to change notification settings - Fork 0
/
1455.cpp
56 lines (54 loc) · 1.5 KB
/
1455.cpp
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
55
56
#include<iostream>
#include<vector>
using namespace std;
class Solution {
public:
vector<string>div_words(string sentence){
vector<string>words;
int i=0; int word_len=0;
int start_pos=i;
while(i<sentence.size()){
if(sentence[i]!=' '){
word_len++;
i++;
continue;
}else{
string word=sentence.substr(start_pos,word_len);
words.emplace_back(word);
start_pos=i+1;
word_len=0;
i++;
}
}
string final_str=sentence.substr(start_pos,word_len);
words.emplace_back(final_str);
return words;
}
int isPrefixOfWord(string sentence, string searchWord) {
int n=searchWord.length();
vector<string>divided_words=div_words(sentence);
int find_pos=-1;
for(int i=0;i<divided_words.size();i++){
if(divided_words[i].length()<n){
continue;
}
string prefix=divided_words[i].substr(0,n);
if(prefix.compare(searchWord)==0){
find_pos=i+1;
break;
}
}
return find_pos;
}
};
int main(){
string a="i love eating burger";
string s="burg";
Solution b;
vector<string>r=b.div_words(a);
for(int i=0;i<r.size();i++){
cout<<r[i]<<endl;
}
cout<<b.isPrefixOfWord(a,s)<<endl;
return 0;
}