本文主要是介绍剑指offer(C++)--翻转单词顺序列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目
牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。
同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。
例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,
正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,
你能帮助他么?
class Solution {
public:string ReverseSentence(string str) {int len = str.size();int start = 0;for(int i = 0; i < len; i ++){if(str[i] == ' '){reverse(str.begin()+start, str.begin()+i);start = i+1;}if(i == len-1){reverse(str.begin()+start, str.end());}}reverse(str.begin(), str.end());return str;}
};
这篇关于剑指offer(C++)--翻转单词顺序列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!