牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么?
classSolution { public: voidswap(string &text, constint a, constint b) { int x = a, y = b - 1; while (x < y) { char temp = text[x]; text[x] = text[y]; text[y] = temp; x++; y--; } } stringReverseSentence(string str){ constint l = str.length(); int a = 0; for (int i = 0; i < l; i++) { if (str[i] == ' ') { swap(str, a, i); a = i + 1; } elseif (i == l - 1) { swap(str, a, i + 1); a = i + 1; } } if (a != 0) { swap(str, 0, l); } return str; } };