题解 | #字符串变形#

字符串变形

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

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @param n int整型 
 * @return string字符串
 */
// 从末端往前寻找空格,作为分割点,然后将那一串字母进行大小写转换
// 大小写字母转换完全后,判断空格,接着寻找下一处字母
char* trans(char* s, int n ) {
    // write code here
    char dest[10000000];
    int start, end, j, i, tmp;
    end = n - 1;
    start = n;
    j = 0;
    for(i = n - 1; i >= 0; i--)
    {
        if(s[i] == ' ')
        {
            start = i + 1;
        }
        else if(i == 0)
        start = 0;
        tmp = start;
        // 用start 和 end 作为字母的分割线
        for(;end >= start; end--)
        {
            if(s[tmp] >= 'a' && s[tmp] <= 'z')
            {
                dest[j] = s[tmp] + ('A' - 'a');
            }
            else if(s[tmp] >= 'A' && s[tmp] <= 'Z')
            {
                dest[j] = s[tmp] + ('a' - 'A');
            }
            j++;
            tmp++;
        }
        // 遇到空格
        if(s[end] == ' ')
        {
            dest[j] = ' ';
            j++;
            end--;
        }
    }
    return dest;

}

全部评论

相关推荐

06-08 22:25
门头沟学院 Java
从零开始的转码生活:这hr不会打开手机不分青红皂白给所有人群发这句话,过一会再给所有人再发一遍,这肯定会有重复的,不管,再过一会再发一遍
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务