题解 | #明明的随机数#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;
}
全部评论

相关推荐

01-02 21:17
已编辑
西安理工大学 后端
程序员小白条:项目不太重要,你的优势的算法竞赛,然后多背相关的八股文,项目可以不作为重点考虑,面试可能就简单带过项目就行了,你可以直接写简历,背项目相关的八股文就行,也不用自己做,时间紧张的情况下,性价比最高
点赞 评论 收藏
分享
许愿ssp的咸鱼很不想泡池子:import python as pyhton
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客企业服务