第一次使用java的记录,做的磕磕绊绊,还参考了许多。。。
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
输入:s = “We are happy.”
输出:“We%20are%20happy.”
- 使用字符数组
class Solution {
public String replaceSpace(String s) {
int a = s.length();
char[] r = new char [a*3];
int n = 0;
for (int i =0;i<a;i++){
char b = s.charAt(i);
if (b == ' '){
r[n++] = '%';
r[n++] = '2';
r[n++] = '0';
}else{
r[n++] = b;
}
}
String news = new String(r, 0, n); %从 r 的前 n 个字符创建新字符串,并返回新字符串
return news;
}
}
- 正则替换
return s.replace(" ","%20");
- 使用StringBuilder
class Solution {
public String replaceSpace(String s) {
StringBuilder string = new StringBuilder();
%使用StringBuilder将许多字符串连接在一起
for (int i = 0; i < s.length(); i++){
char c = s.charAt(i);
if (c == ' '){
string.append("%20");
} else {
string.append(c);
}
}
return string.toString();
}
}