不要使用java string 自带 replace(替换)api;
请实现一个函数,将一个字符串中的每个空格替换成“%20”。
例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
public class Solution {
public String replaceSpace(StringBuffer str) {
获取传进来的字符串的长度
int oldLen = str.length();
获取空格数目
int spaceNum = 0;
for(int i = 0; i < oldLen; i++) {
if(str.charAt(i) == ' ') {
spaceNum++;
}
}
获取存储的数据长度
int newLen = 2 * spaceNum + oldLen;
获取下标
int index = newLen-1;
存储数组
char[] ct = new char[newLen];
遍历用的是老数组下标,添加用的是新数组的下标
从尾端算起,有空格往前添加,没空格则直接添加
while(oldLen > 0) {
if(str.charAt(oldLen -1) != ' ') {
ct[index--] = str.charAt(oldLen - 1);
}else{
ct[index--] = '0';
ct[index--] = '2';
ct[index--] = '%';
}
oldLen--;
}
返回数组
return String.valueOf(ct);
}
}