突然想起一个我曾深深喜欢过的女孩的名字,如果我邀请她出去,结果会是什么呢,可能我这个人执念太重吧 2020.04.25
题目:
请实现一个函数,把字符串中的每个空格替换成"%20",例如“We are happy.”,则输出“We%20are%20happy.”。
点击链接
解题思路:
声明一个足够大的数组并赋值,给的字符串长度,统计空格数量,计算替换后的长度,倒着复制原来的数组,遇到空格复制替换的字符,完美!
package offer04;
public class Test {
public static void replaceSpace(char[] charArray,int userLenght) {
if(charArray == null && userLenght > charArray.length) {
return;
}
int spaceNum = 0;
for(int i = 0;i<userLenght;++i) {
if(charArray[i] == ' ') {
++spaceNum;
}
}
int resultNum = spaceNum * 2 + userLenght;
for(int i = resultNum ; i >= 0 ; --i) {
if(charArray[userLenght] == ' ') {
charArray[i--] = '0';
charArray[i--] = '2';
charArray[i--] = '%';
userLenght--;
}
charArray[i] = charArray[userLenght--];
}
System.out.println(String.valueOf(charArray));
}
public static void main(String[] args) {
String testString = new String("We are happy.");
char[] string = java.util.Arrays.copyOf(testString.toCharArray(), 1000);
replaceSpace(string,18);
}
}