题解 | #字符串变形#

字符串变形

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

class Solution {
public:
    string trans(string s, int n) {
        // write code here
        for (int i = 0; i < n; i++) {
            if (s[i] >= 'a' && s[i] <= 'z')
                s[i] = toupper(s[i]);
            else 
                s[i] = tolower(s[i]);
        }

        reverse(s.begin(), s.end());
        for (int i = 0, j = 0; i < n; i++) {
            if (s[i] != ' ') {
                j = i;
                while (isalnum(s[j])) j++;
                reverse(s.begin() + i, s.begin() + j);
                i = j;
            }
        }

        return s;
    }
};
  • 思路:大小写转换+翻转单词
  • 1、先转换大小写
  • 2、翻转整个字符串,然后翻转每个单词
  • 时间复杂度:O(n)
  • 空间复杂度:O(n)
全部评论

相关推荐

04-28 11:34
西北大学 运营
牛客4396号:不好意思,这个照片猛一看像丁真
点赞 评论 收藏
分享
04-16 12:49
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务