题解 | #单词倒排#
单词倒排
http://www.nowcoder.com/practice/81544a4989df4109b33c2d65037c5836
单词排序、一次通过
#include #include #include using namespace std;
bool char_check(char c);
int main() { string s; getline(cin, s);
vector<string> v;
bool flag_bef=false;
bool flag_now=false;
auto it_start=s.begin();
auto it_end=s.begin();
auto it_last=s.begin();
auto it=s.begin();
for(;it!=s.end();it++)
{
flag_now=char_check(*it);
if((flag_bef==false)&&(flag_now==true))
{
it_start=it;
}
if((flag_bef==true)&&(flag_now==false))
{
//it_end=it_last;
it_end=it;
v.push_back(string(it_start,it_end));
}
flag_bef=flag_now;
}
if((flag_bef==true)&&(it==s.end()))
{
v.push_back(string(it_start,it));
}
for(int j=v.size()-1;j>=0;j--)
{
cout<<v[j]<<' ';
}
//system("pause");
return 0;
}
bool char_check(char c)
{
if((c>='a')&&(c<='z'))
{
return true;
}
else if((c>='A')&&(c<='Z'))
{
return true;
}
else
return false;
return false;
}