1. 题目
请实现一个函数,把字符串 s 中的每个空格替换成%20
。
示例 1:
输入:s = "We are happy."
输出:"We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
2. 解题思路(通用
逐个字符遍历String字符串,并设置一个结果字符串变量re。
如果遍历到的字符不是空格,就把字符存入结果变量;
如果遍历到的字符是空格,则将%20
存入结果变量;
由于结果字符串re需要增加字符,而String类型有一个特点:
- String类是不可改变的,所以你一旦创建了String对象,那它的值就无法改变了,因此re不能定义为string类型,
如果需要对字符串做很多修改,那么应该选择使用 StringBuffer 或 StringBuilder 类。
这是java的一个知识点,具体请看String、StringBuffer、StringBuilder 的区别?
3. 数据类型功能函数总结
//String
String.length();//获得字符串长度
String.charAt(index);//获得字符串中下标index的字符
//StringBuffer
StringBuffer 变量名=new StringBuffer();//声明一个StringBuffer类型的变量
StringBuffer.append(ch);//在尾部添加字符
StringBuffer.toString();//将StringBuffer转为String类型
4. java代码
class Solution {
public String replaceSpace(String s) {
StringBuilder re=new StringBuilder();
for(int i=0;i<s.length();i++){
if(s.charAt(i)==' '){
re.append('%');
re.append('2');
re.append('0');
}
else{
re.append(s.charAt(i));
}
}
return re.toString();
}
}