牛客题霸--字符串变形
字符串变形
题目链接
Solution
将字符串按单词反转,并反转大小写。
从后往前扫,如果遇到空格,说明从这个空格的位置到下一个空格之间是一个单词。
然后将单词的每个字母依次取出,取出的过程变化大小写。
Code
class Transform {
public:
char trans(char ch) {
if ('a' <= ch && ch <= 'z') return ch - 'a' + 'A';
else return ch - 'A' + 'a';
}
string trans(string s, int n) {
int p = n - 1;
string ans;
for (int i= n - 1; i >= 0; --i) {
if (s[i] == ' ') {
for (int j = i + 1; j <= p; ++j) ans += trans(s[j]);
ans += ' ';
p = i - 1;
}
}
for (int j = 0; j <= p; ++j) ans += trans(s[j]);
return ans;
}
};