//将一句话翻转
// I am a student--> student a am I
//先每个单词翻转,再整句话翻转
1 #include<iostream>
2 #include<string>
3 using namespace std;
4
5 class InvertWords{
6 public:
7 InvertWords(string* wo):words(wo){}
8 void Invert()
9 {
10 int len=words->size();
11 int beg=-1;
12 //翻转整个字符串
13 InvertWord(beg,len);
14 //翻转每个单词
15 for(int i=0;i<len;i++)
16 {
17 if(words->at(i)==' ')
18 {
19 InvertWord(beg,i);
20 beg=i;
21 }
22 }
23 }
24
25 private:
26 void InvertWord(int beg,int end)
27 {
28 char tmp;
29 while(++beg<--end)
30 {
31 tmp=words->at(beg);
32 words->at(beg)=words->at(end);
33 words->at(end)=tmp;
34 }
35 }
36 string* words;
37 };
单词翻转
最新推荐文章于 2022-12-01 21:14:14 发布