题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy.
思路:需要借助一个新的字符串,构建时将原字符串的空格全部换成“%20”,切勿大量移动原字符串中的元素
C/C++ 运行时间:8ms 占用内存:952k
class Solution { public: void replaceSpace(char *str,int length) { string mid = ""; //暂存一下 for(int i=0; i<length; ++i) { if(str[i]==' ') mid += "%20"; else mid += str[i]; } for(int i=0; i<mid.length(); ++i) { str[i] = mid[i]; } } };
Java 运行时间:17ms 占用内存:9616k
public class Solution { public String replaceSpace(StringBuffer str) { StringBuffer mid = new StringBuffer(); for(int i=0; i<str.length(); ++i) { if(str.charAt(i)==' ') //charAt()取下标元素 mid.append("%20"); //append()在尾部追加 else mid.append(str.charAt(i)); } return mid.toString(); //转换成String类型 } }
Python 运行时间:25ms 占用内存:5752k
# -*- coding:utf-8 -*- class Solution: # s 源字符串 def replaceSpace(self, s): # write code here ans = "" for i in range(len(s)): #len(s)返回整型元素,不能对int型遍历 if s[i]==' ': ans += "%20" else: ans += s[i] return ans