题解 | #替换空格#

替换空格

https://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68

char* replaceSpace(char* s ) {
    int i = 0, j = 0;
    int cnt = 0, n = strlen(s);
    for (i = 0; i < n; i++) {
        if (s[i] == ' ')
            cnt++;  //求空格个数
    }
    char* ret = NULL;  //新数组头指针
    ret = (char*)malloc(sizeof(int) * ( n + cnt * 3 + 1)); //定义新数组大小
    for (i = 0, j = 0; i < n; i++, j++) {
        if (s[i] != ' ')
            ret[j] = s[i];  //不是空格就直接复制
        else if (s[i] == ' ') {
            ret[j] = '%';   //遇到空格要逐一赋值
            ret[j + 1] = '2';
            ret[j + 2] = '0';
            j = j + 2; //要与i保持同步
        }
    }
    return ret;
}

全部评论

相关推荐

点赞 评论 收藏
分享
02-14 15:34
门头沟学院 Java
Java抽象带篮子:专业技能怎么写可以看看我发的帖子
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务