翻轉單詞順序列

2021-09-25 06:59:56 字數 962 閱讀 4051

牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,「student. a am i」。後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是「i am a student.」。cat對一一的翻轉這些單詞順序可不在行,你能幫助他麼?

思路:1、翻轉句子中的所有字元

2、翻轉每個單詞中字元的順序

難點在於如何翻轉每個單詞中字元的順序

這段**用於確定每個單詞的起始和終止位置:

b指向起始位置,e指向終止位置,be++,直到單詞終止位置的下一位置,這個位置要麼為空字元,要麼為str.size()的位置

找到單詞終止位置e,進行單詞翻轉

並將b、e都指向單詞終止位置的下一位置,判斷是空格還是str.size()

如果是str.size(),說明沒有單詞可翻轉了,如果是空格,則b++、e++,直到不是空格,到達下一單詞的開頭,e繼續e++到達單詞終止位置的下一位置

int b = 0, e = 0;

while(b < str.size())

else if(str[e] == ' ' || e == str.size())

else

}

其他寫法:

int s = 0, e = 0;

int i = 0;

while(i < str.size())

reverseword(str, s, e - 1); //區域性翻轉

}

class solution 

string reversesentence(string str)

else if(str[e] == ' ' || e == str.size())

else

}return str;

}};

翻轉單詞順序列

最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a student.ca...

翻轉單詞順序列

牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a student....

翻轉單詞順序列

題目描述 牛客最近來了乙個新員工fish,每天早晨總是會拿著一本英文雜誌,寫些句子在本子上。同事cat對fish寫的內容頗感興趣,有一天他向fish借來翻看,但卻讀不懂它的意思。例如,student.a am i 後來才意識到,這傢伙原來把句子單詞的順序翻轉了,正確的句子應該是 i am a stu...