题目:请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
限制:
0 <= s 的长度 <= 10000
白吃算法:
解题思路:
1、定义一个空的字符串str
2、判断传进来的参数的每个位是不是空格。如果是的话,就往str后边加%20,如果不是的话,就把对应的位的值通过charAt取出来直接接在str后边。
class Solution {
public String replaceSpace(String s) {
String str = "";
int len = s.length();
for (int i = 0; i < len; i++) {
if (s.charAt(i) == ' ') {
str += "%20";
} else {
str += s.charAt(i);
}
}
return str;
}
}
力扣战绩:
优化算法:
class Solution {
public String replaceSpace(String s) {
StringBuilder sb = new StringBuilder();
int len = s.length();
for (int i = 0; i < len; i++) {
if (s.charAt(i) == ' ') {
sb.append("%20");
} else {
sb.append(s.charAt(i));
}
}
return sb.toString();
}
}
力扣战绩:
还有更刁钻的代码:(一句搞定)
class Solution {
public String replaceSpace(String s) {
return s.replace(" ", "%20");
}
}
力扣战绩: