题目描述
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
思路:对输入的字符串逐个字符判断是否为空格,是就将%20写入新的字符串内,否则将该字符写入新的字符串,循环一遍就可以得到一个符合规则的字符串;最后将这个新的字符串复制回到原输入字符串,至此完成了替换空格的目标。
//C++
class Solution {
public:
void replaceSpace(char *str,int length) {
string s=str;
string res;
for(char c:s)
{
if (c==' ')
res+="%20";
else
res+=c;
}
strcpy(str,res.c_str());
}
};
// java
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main{
public static void main(String []args) throws Exception{
BufferedReader br = new BufferedReader (new InputStreamReader(System.in));
String str ="";
while((str=br.readLine())!= null){
System.out.println(str.replaceAll(" ","%20"));
}
br.close();
}
}