面试题5:替换空格

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

提交时间:2018-07-10 语言:C++ 运行时间: 4 ms 占用内存:480K 状态:答案正确

class Solution {
public:
    void replaceSpace(char *str,int length) {
       if(str==nullptr || length<=0)
        return;
    int strlen=0;
    int blanknum=0;
    int i=0;
    while(str[i]!='\0')
    {
        if(' '==str[i])
            ++blanknum;
        ++strlen;
        ++i;             
    }
    int newlen= strlen+2*blanknum ;
    if (newlen>length) return;
 
    while(newlen>=0&&strlen>=0)
    {
        if (str[strlen]==' ')
        {
            str[newlen--]='0';
            str[newlen--]='2';
            str[newlen--]='%';
            strlen--;
        }
        else
            str[newlen--]=str[strlen--];
        if (newlen==strlen)
        return;     
    }
    }
};

提交时间:2018-07-10 语言:Java 运行时间: 26 ms 占用内存:9504K 状态:答案正确

public class Solution {
    public String replaceSpace(StringBuffer str) {
        return str.toString().replaceAll(" ", "%20");
    }
}

提交时间:2018-07-10 语言:Python 运行时间: 27 ms 占用内存:5752K 状态:答案正确

# -*- coding:utf-8 -*-
class Solution:
    # s 源字符串
    def replaceSpace(self, s):
        # write code here
        s=s.replace(' ','%20')
        return s
posted @ 2018-07-11 22:48  lightmare  阅读(96)  评论(0编辑  收藏  举报