1.题目描述
2.题解
通过新创建一个数组来实现。先遍历原字符串得到空格个数k,则新数组的长度为原字符串长度加上2k;接着遍历原数组,若遍历到空格则给新数组直接添加三个元素即'%','2','0',反之则正常对应赋值。
3.代码示例
class Solution {
public String replaceSpace(String s) {
char[] c=s.toCharArray();
int length=c.length;
//计算字符串中有多少个空格
for(int i=0;i<c.length;i++){
if(c[i]==' ')
length+=2;
}
//根据原字符串空格数得到新数组的长度
char[] result=new char[length];
//给新数组赋值的操作
for(int i=0,j=0;i<length&&j<c.length;i++,j++){
//若原数组遍历到空格则新数组直接添加三个元素%,2,0
if(c[j]==' '){
result[i]='%';
result[++i]='2';
result[++i]='0';
}
//否则就直接对应地赋值
else
result[i]=c[j];
}
return String.valueOf(result);
}
}