题解 | #字符串变形#
字符串变形
https://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e
#include <cctype>
#include <fstream>
#include <iterator>
class Solution {
public:
void resverse(string &s,int start,int end)
{
int left = start;
int right = end;
while(left < right)
{
swap(s[left],s[right]);
left++;
right--;
}
}
string trans(string s, int n) {
// write code here
resverse(s, 0, n-1);
int start = 0;
for(int i = 0;i<=n;++i)
{
if(s[i] == ' ' || s[i] == '\0')
{
resverse(s, start, i-1);
start = i + 1;
}
}
for(int i = 0;i<n;++i)
{
if(isupper(s[i]))
s[i] = tolower(s[i]);
else if(islower(s[i]))
s[i] = toupper(s[i]);
}
return s;
}
};
解题思路:双逆转
先逆转整个字符串,然后再以空格为界,逆转每个单词
CVTE公司福利 672人发布