题解 | #字符串变形#

字符串变形

https://www.nowcoder.com/practice/c3120c1c1bc44ad986259c0cf0f0b80e

这个解法主要运用了栈后进先出的原理

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;
    }
};
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务