• 剑指OFFER之替换空格


    题目描述:

    请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

    输入:

    每个输入文件仅包含一组测试样例。
    对于每组测试案例,输入一行代表要处理的字符串。

    输出:

    对应每个测试案例,出经过处理后的字符串。

    样例输入:
    We Are Happy
    样例输出:
    We%20Are%20Happy

    Code:
    #include <stdio.h>
    #include <stdlib.h>
     
    void ReplaceBlank(char str[]){
        if(str==NULL)
            return;
        int originalLength=0;
        int numberOfBlank=0;
        int i=0;
        while(str[i]!=''){
            ++originalLength;
            if(str[i]==' '){
                ++numberOfBlank;
            }
            ++i;
        }
        int newLength=originalLength+2*numberOfBlank;
        while(originalLength>=0){
            if(str[originalLength]!=' '){
                str[newLength--]=str[originalLength--];
            }else{
                --originalLength;
                str[newLength--]='0';
                str[newLength--]='2';
                str[newLength--]='%';
            }
        }
    }
     
    int main()
    {
        char str[1000000];
        while(gets(str)){
            ReplaceBlank(str);
            printf("%s
    ",str);
        }
        return 0;
    }
     
    /**************************************************************
        Problem: 1510
        User: lcyvino
        Language: C
        Result: Accepted
        Time:10 ms
        Memory:1820 kb
    ****************************************************************/
  • 相关阅读:
    音频,视频简单运用
    转载:Linux Used内存到底到哪里去了?
    shell awk统计重复个数
    Java中的单例模式
    Grub启动配置文件
    C语言实现全排列
    C语言缓冲区清空
    c语言内存对齐(1)
    防盗链原理
    C语言内存对齐(2)
  • 原文地址:https://www.cnblogs.com/Murcielago/p/4148913.html
Copyright © 2020-2023  润新知