1. 题目描述
2. 题解思路
- 由于替换会导致长度的变化,因此选择使用字符数组进行替换,长度为s的三倍(确保不会溢出)
- 从左至右遍历字符串s
- 如果当前字符是空格,则进行替换
- 如果不是,则判断下一个
3. 代码
class Solution {
public String replaceSpace(String s) {
int len = s.length();
char[] chars = new char[len * 3];
int size = 0; //字符数组的索引
for(int i = 0; i < len; i++){
char temp = s.charAt(i); //获取当时字符
if(temp != ' '){
//不等于空格
chars[size++] = temp;
continue;
}else{
//等于空格
chars[size++] = '%';
chars[size++] = '2';
chars[size++] = '0';
}
}
String res = new String(chars,0,size); //将字符数组从0到size转化为字符串
return res;
}
}
4.结果