(java版剑指offer)JZ5 替换空格(方法一:遍历法)
替换空格
https://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68?tpId=265&tqId=39209&rp=1&ru=/exam/oj/ta&qru=/exam/oj/ta&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D13&difficulty=undefined&judgeStatus=undefined&tags=&title=
public String replaceSpace (String s) {
// write code here
//字符串长度
//定义一个长度是字符串长度三倍的字符数组,避免都是空格的极端情况
//数组初始下标为0
//遍历
//取字符串中的一个字符用于下面的判断
//若为空格,则下面连续三个下标对应位置赋值
//若不是空格,则直接放入数组
//将字符串数组,变为字符串
int length = s.length();
char[] array = new char[length*3];
int index = 0;
for(int i=0; i<length; i++){
char c = s.charAt(i);
if(c == ' '){
//要理解index++与++index: index++表示先赋值后自增,++index表示先自增后赋值
//array[2++] = ‘ok’; //其实表示的是array[2] = 'ok';
//此外相同位置,赋值两次,会有覆盖
array[index++] = '%';
array[index++] = '2';
array[index++] = '0';
}else{
array[index++] = c;
}
}
String newStr = new String(array, 0, index);
System.out.println(index);
return newStr;
}