题目描述
请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。
给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。
测试样例:
"Mr John Smith”,13
返回:"Mr%20John%20Smith"
”Hello World”,12
返回:”Hello%20%20World”
public class Replacement {
// 请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。
// 给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。
// 测试样例:
// "Mr John Smith”,13
// 返回:"Mr%20John%20Smith"
//
// ”Hello World”,12
// 返回:”Hello%20%20World”
public String replaceSpace(String iniString, int length) {
// write code here
iniString="1 "+iniString+" 1";
String[] stringArray=iniString.split(" ");
String returnString="";
for(int i=1;i<stringArray.length-2;i++){
returnString+=stringArray[i]+"%20";
}
return returnString+stringArray[stringArray.length-2];
}
public static void main(String[] args){
String ni="Mr John Smith";
System.out.println(new Replacement().replaceSpace(ni,ni.length()));
}
}
这里有个小坑,开头和结尾如果是空格我一开始没有考虑到,所以就没有达到100%的测试
大神们的链接:
https://www.nowcoder.com/questionTerminal/b0850698cb41449188344cdb647f3e99
看了一个答案发现我自己写的太愚蠢了。。