题解 | #明明的随机数#C 滑动窗口 字符串

字符串变形

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

具体思路就是两次翻转,然后滑动窗口取单词在进行翻转。

 *
 * @param s string字符串
 * @param n int整型
 * @return string字符串
 *
 * C语言声明定义全局变量请加上static,防止重复定义
 */
void revers(char* s, int left, int right) {
    while (left < right) {
        s[left]  = s[left] + s[right];
        s[right] = s[left] - s[right];
        s[left]  = s[left] - s[right];
        left++;
        right--;
    }
}
void change_Aa(char* s) {
    int n = strlen(s);
    for (int i = 0; i < n; i++) {
        if (s[i] <= 'z' && s[i] >= 'a') {
            s[i] -= 32;
            continue;
        }
        if (s[i] <= 'Z' && s[i] >= 'A') {
            s[i] += 32;
            continue;
        }
    }
}
char* trans(char* s, int n ) {
    // write code here
    revers(s, 0, n - 1); //整个字符串翻转
    int i = 0, j = 0, k = 0;
    while (j < n) {
        if (s[j] == ' ' || j == n - 1) { //每个单词进行翻转
            k = j == n - 1 ? n - 1 : j - 1;
            revers(s, i, k);
            i = j + 1;
        }
        j++;
    }
    change_Aa(s);
    return s;
}
全部评论

相关推荐

好久没来牛客了,今天面试了一个实习生,感觉对方形象乱糟糟的,头发像鸡窝,像刚睡醒就来面试了,第一印象直接大打折扣,感觉我没有受到应有的尊重,再加上对方业务能力也一般,我直接挂掉;大家面试的时候还是好好收拾一下自己吧,争取给面试官留下个好印象,面试这东西还是存在眼缘的
MinJerous:更在乎本质,应该看候选人是否和岗位需要的能力匹配。洗脸/不洗头都无所谓吧,说不定人家刚刚通宵准备,就是为了这场面试呢?你挂掉他核心原因还是他能力不行,而不是形象。就算形象好点,能力不行你敢给过吗,不怕后面+1质疑你
点赞 评论 收藏
分享
白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务