题解 | #字符串变形#
字符串变形
https://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e
class Solution { public: string trans(string s, int n) { reverse(s.begin(), s.end()); int start = 0; auto blank = s.find(' ', start); while (blank != string::npos) { reverse(s.begin() + start, s.begin() + blank); start = blank + 1; blank = s.find(' ', start); } reverse(s.begin() + start, s.end()); for_each(s.begin(), s.end(), [](auto &i) { if (i >= 'a' && i <= 'z') { i += 'A' - 'a'; } else if (i >= 'A' && i <= 'Z') { i += 'a' - 'A'; } }); return s; } };
思路:分为两步
1、反转字符串
2、反转每个字母字符