计蒜客 挑战难题 批量替换字符串

在网络编程中,如果URL含有特殊字符,如空格、‘#’等,服务器将无法识别导致无法获得正确的参数值,我们需要将这些特殊字符转换成服务器可以识别的字符,例如将空格转换成’%20’。给定一个字符串,将其中的空格转换成’%20’。要求效率尽可能高,尽量在O(n)的复杂度完成,要求用char数组来存储字符,不能用string

输入:一个原始字符串,例如 hello world。

输出转换后的字符串,例如 hello%20world。

样例1

输入:

we are happy

输出:

we%20are%20happy

C语言:

#include 
void switchString(char *str,int n)
{
    //printf("%d",n);
    int i,j=0;
    char str0[100];
    for(i=0;iif(str[i] == ' ')
        {
            str0[j++] = '%';
            str0[j++] = '2';
            str0[j] = '0';
        }
        else
            str0[j] = str[i];
    }
    str0[j] = '\0';
    printf("%s",str0);
    return;
}
int main()
{
    char str[100];
    gets(str);
    switchString(str,strlen(str));
    return 0;
}

python:

#import string
str = raw_input()
str = str.replace(' ','%20')
print str

你可能感兴趣的:(编程练习)