请实现一个函数,把字符串 s 中的每个空格替换成"%20"。
示例 1:
输入:s = “We are happy.”
输出:“We%20are%20happy.”
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
写题之前现总结一下知识点:
将String 类转换为StringBuilder类 :
String s = new String();
StringBuilder sb = new StringBuilder(s)
将StringBuilder 类转换为 String 类:
StringBuilder sb = new StringBuilder();
String s = sb.toString(sb);
String 类中的 replace 函数:
replace(String old, String new)
把字符串中所有的 old 字符全转换为 new 字符
StringBuilder 中的 replace 函数
replace(int begin, int end, String str);
将原字符串中的 [begin, end)的字符串用 str 字符串替换
方法一: 用StringBuilder 进行求解,遍历字符串s,如果遇到空格,就在sb中添加%20,如果不是空格,就添加s.charAt(i) 即可,最开始想用replace 方法,但是不会用,和c++不一样,呜呜
class Solution {
public String replaceSpace(String s) {
String temp = "%20";
StringBuilder sb = new StringBuilder();
for(int i = 0; i < s.length(); i++){
if(s.charAt(i) == ' '){
sb.append(temp);
}else{
sb.append(s.charAt(i));
}
}
return sb.toString();
}
}
方法二:直接在String 类中replace 注意两边都是String类型,我一开始左边空格写的是 ' '
,结果报错了,小细节需注意
class Solution {
public String replaceSpace(String s) {
return s.replace(" ", "%20");
}
}