句子逆序2019 11 22

2021-09-30 00:23:33 字數 1756 閱讀 5888

將乙個英文語句以單詞為單位逆序排放。例如「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...

nowcoder 句子逆序

將乙個英文語句以單詞為單位逆序排放。例如 i am a boy 逆序排放後為 boy a am i 所有單詞之間用乙個空格隔開,語句中除了英文本母外,不再包含其他字元 介面說明 反轉句子 param sentence 原句子 return 反轉後的句子 public string reverse s...

python 句子逆序

1 2 題目描述 3將乙個英文語句以單詞為單位逆序排放。例如 i am a boy 逆序排放後為 boy a am i 4所有單詞之間用乙個空格隔開,語句中除了英文本母外,不再包含其他字元56 輸入描述 7輸入乙個英文語句,每個單詞用空格隔開。保證輸入只包含空格和字母。89 輸出描述 10得到逆序的...