请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
方法:将字符串转化为字符数组,遍历添加,使用StringBuilder的效率更高。
class Solution {
public String replaceSpace(String s) {
StringBuilder sb = new StringBuilder();
for(char c:s.toCharArray()){
if(c==' '){
sb.append("%20");
}
else{
sb.append(c);
}
}
return sb.toString();
}
}
开始想的是使用字符串分割为字符串数组,遍历数组中每个元素然后追加"20%",给的第一个测试用例通过了,但是后面提交出错,仔细看了一下原来是数组下标可能存在越界,当给的字符串只有一个空格时,就会报错。
class Solution {
public String replaceSpace(String s) {
String s1="";
String s2[]=s.split(" ");
for(int i=0;i<s2.length-1;i++){
s1=s1.concat(s2[i]);
s1=s1.concat("%20");
}
s1=s1.concat(s2[s2.length-1]);
return s1;
}
}