请实现一个函数,把字符串 s 中的每个空格替换成"%20"。(来源力扣)
示例 1:
输入:s = “We are happy.”
输出:"We%20are%20happy."
1,方法一:采用字符数组的方式
//将替换空格后的字符串放在当前字符串长度三倍的字符数组中。
public String replaceSpace(String s) {
int length=s.length();
char[] str=new char[length*3];
int j=0;
for(int i=0;i<length;i++) {
while(' '==s.charAt(i)&&j<str.length) {
str[j]='%';
str[j+1]='2';
str[j+2]='0';
j=j+3;
i++;
}
if(j<str.length) {
str[j]=s.charAt(i);
j++;
}
}
return String.valueOf(str);
}
方法二:采用StringBuilder去拼接字符串
public String replaceSpace(String s) {
StringBuilder builder=new StringBuilder();
for(int i=0;i<s.length();i++) {
while(' '==s.charAt(i)) {
builder.append("%20");
i=i+1;
}
builder.append(s,i,i+1);
}
return String.valueOf(builder);
}
方法三:调用字符串的replace()方法,实际上还是采用StringBuilde的方式
public String replaceSpace(String s) {
return s.replace(" ", "%20");
}