这个解法主要运用了栈后进先出的原理
class Solution {
public:
string trans(string s, int n) {
// write code here
stack<string> r;
string str;
s.push_back(' ');
for(int i = 0; i <= n ; ++i){
if(s[i] == ' '){
r.push(str); //遇到空格,则往里压入Str也就是空格前面的单词
str = "";
}else{ //这是往str字符串中加字母,逐一改变大小写
if(s[i] >= 'a' && s[i] <= 'z'){
str += (s[i] - 'a' + 'A'); //变大写
}else{
str += (s[i] - 'A' + 'a'); //变小写
}
}
}
string ans;
while(!r.empty()){
ans += r.top();
r.pop();
ans.push_back(' ');
}
ans.pop_back();
return ans;
}
};
京公网安备 11010502036488号