题解 | #替换空格#
替换空格
http://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68
笨办法定义一个array[index++]
String newStr=new String(array,0,index); 这句让人想不到。
好办法用stringbuilder
偷懒的办法发replaceall(" ","%20")
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param s string字符串
* @return string字符串
*/
public String replaceSpace (String s) {
// write code here
// s=s.replaceAll(" ","%20");
// return s;
// StringBuilder sb=new StringBuilder();
// for(int i=0;i<s.length();i++){
// if(s.charAt(i)==' '){
// sb.append("%20");
// }else{
// sb.append(s.charAt(i));
// }
// }
// return sb.toString();
int length=s.length();
char[] array=new char[3*length];
int index=0;
for(int i=0;i<length;i++){
char c=s.charAt(i);
if(c==' '){
array[index++]='%';
array[index++]='2';
array[index++]='0';
}else{
array[index++]=c;
}
}
String newStr=new String(array,0,index);
return newStr;
}
}