字符串变形
题目链接
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; } };