1.题目
2. 代码
class Solution {
public String replaceSpace(String s) {
if(s == null || s.length() == 0){
return s;
}
StringBuilder str = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
if(s.charAt(i) == ' '){
str.append(" ");
}
}
if(str.length() == 0){
return s;
}
int left = s.length() - 1;
s += str.toString();
int right = s.length()-1;
char[] chars = s.toCharArray();
while(left>=0){
if(chars[left] == ' '){
chars[right--] = '0';
chars[right--] = '2';
chars[right] = '%';
}else{
chars[right] = chars[left];
}
left--;
right--;
}
return new String(chars);
}
}
3. 解法思想
注意:length()是字符串的方法,所以要加括号!但是数组中length是数组对象的属性,所以直接通过.length()就可以获取。所以js中你也可以理解为某字符串的长度属性。如果你自定义了一个字符串类,length是它的属性(公有),你也可以通过.length获取他的值,但是jdk自带的String类,只有length()方法,没有length属性,有兴趣可以去看一下源码!