题目:
请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
class Solution {
public String replaceSpace(String s) {
}
}
方法一:利用Strng自带的函数replaceAll
public static String replaceSpace(String s) {
if (s == null || s.length() <= 0) return s;
String string = s.replaceAll(" ", "%20");
return string;
}
- 执行用时:4 ms, 在所有 Java 提交中击败了5.29%的用户
- 内存消耗:36.4 MB, 在所有 Java提交中击败了89.81%的用户
方法二:
public static String replaceSpace(String s){
if (s == null || s.length() <= 0) return s;
StringBuilder string = new 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();
}
- 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
- 内存消耗:36 MB, 在所有 Java提交中击败了99.00%的用户
方法三:
public static String replaceSpace(String s){
if (s == null || s.length() <= 0) return s;
char[] newChars = new char[s.length()*3];
int num = 0, newNum = 0;
while (num < s.length()){
char c = s.charAt(num);
if (c == ' '){
newChars[newNum++] = '%';
newChars[newNum++] = '2';
newChars[newNum++] = '0';
}else {
newChars[newNum++] = c;
}
num++;
}
String result = new String(newChars, 0, newNum);
return result;
}
- 执行用时:0 ms, 在所有 Java 提交中击败了100.00%的用户
- 内存消耗:36.4 MB, 在所有 Java提交中击败了91.36%的用户