题解 | 替换空格

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param s string字符串 
 * @return string字符串
 */
char* replaceSpace(char* s ) {
    // write code here
    if(s == NULL){return NULL;}
    int n = strlen(s);
    int m = 0;
    for (int i = 0; i<n; i++){
        if(s[i]==' '){
            m++;
        }
    }
    int len = n + m*2;
    char* ans = (char*)malloc((len+1) * sizeof(char));
    int j = 0;
    for (int i = 0; i<n; i++){
        if (s[i]==' ') {
            ans[j++] = '%';
            ans[j++] = '2';
            ans[j++] = '0';
        }else{
            ans[j++] = s[i];
        }
    }
    ans[j]= '\0';
    return ans;
}

首先保证代码是否为空,再遍历确定空格数,再建立一个动态数组(通过第一步的遍历确定数组大小),然后再将输入数组的全都放入动态数组中

全部评论

相关推荐

不愿透露姓名的神秘牛友
01-11 18:40
杭州银行 信息技术岗 25w 硕士其他
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务