將乙個英文語句以單詞為單位逆序排放。例如「i am a boy」,逆序排放後為「boy a am i」
所有單詞之間用乙個空格隔開,語句中除了英文本母外,不再包含其他字元
介面說明
* 反轉句子
* @param sentence 原句子
* @return 反轉後的句子
public string reverse(string sentence);
輸入描述:
將乙個英文語句以單詞為單位逆序排放。
輸出描述:
得到逆序的句子
示例1輸入
i am a boy
輸出boy a am i
思路:翻轉句子可以翻轉整個句子,然後再翻轉每個單詞。
#include
#include
#include
usingnamespacestd;
classreverse{
public:
stringreversesentence(string a,intn)
reverseword(a,0,n-1);
inti=0,j=0;
while(i
while(i
i++;
if(i>=n)
returna;
j=i;
while(i
i++;
if(i>=n)
reverseword(a,j,n-1);
returna;
reverseword(a,j,i-1);
returna;
voidreverseword(string &a,intlow,inthigh)
if(low>=high)
return;
chartemp;
while(low
temp=a[low];
a[low]=a[high];
a[high]=temp;
low++;
high--;
intmain()
stringarr("dog loves pig");
reverse a;
a.reversesentence(arr,13);
cout另一種:利用vector
#include
#include
usingnamespacestd;
intmain(){
string s;
vectorvs;
while(cin >> s)
vs.push_back(s);
for(inti = vs.size()-1; i > 0; --i)
cout << vs[i] << " ";
cout << vs[0] << endl;
return0;
另一種:利用sstream
#include
#include
#include
usingnamespacestd;
int main() {
string s;
getline(cin,s);
stringstream ss(s);
string res="", tmp;
while(ss>>tmp) {
if(res=="")
res=tmp;
else
res=tmp+" "+res;
cout 對於乙個字串,請設計乙個演算法,只在字串的單詞間做逆序調整,也就是說,字串由一些由空格分隔的部分組成,你需要將這些部分逆序。給定乙個原字串a和他的長度,請返回逆序後的字串。測試樣例 dog loves pig 13 返回 pig loves dog class reverse return a pr... 將乙個英文語句以單詞為單位逆序排放。例如 i am a boy 逆序排放後為 boy a am i 所有單詞之間用乙個空格隔開,語句中除了英文本母外,不再包含其他字元 介面說明 反轉句子 param sentence 原句子 return 反轉後的句子 public string reverse s... 1 2 題目描述 3將乙個英文語句以單詞為單位逆序排放。例如 i am a boy 逆序排放後為 boy a am i 4所有單詞之間用乙個空格隔開,語句中除了英文本母外,不再包含其他字元56 輸入描述 7輸入乙個英文語句,每個單詞用空格隔開。保證輸入只包含空格和字母。89 輸出描述 10得到逆序的...句子的逆序
nowcoder 句子逆序
python 句子逆序