zoukankan      html  css  js  c++  java
  • 剑指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
    ****************************************************************/
  • 相关阅读:
    无限维
    黎曼流形
    why we need virtual key word
    TOJ 4119 Split Equally
    TOJ 4003 Next Permutation
    TOJ 4002 Palindrome Generator
    TOJ 2749 Absent Substrings
    TOJ 2641 Gene
    TOJ 2861 Octal Fractions
    TOJ 4394 Rebuild Road
  • 原文地址:https://www.cnblogs.com/Murcielago/p/4148913.html
Copyright © 2011-2022 走看看