题解 | #替换空格#
替换空格
http://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68
第一种方法最简单也最骚,直接用string的api即可。
public String replaceSpace (String s) {
// write code here
return s.replaceAll(" ", "%20");
}
第二种方法就是遍历每个下标,然后将其添加到新的数组中。
public String replaceSpace (String s) {
// write code here
char sc[] = s.toCharArray();
//因为空格要换成%20,所以要申请新的3倍char数组
char dp[] = new char[sc.length * 3];
int index = 0;
for(int i = 0; i < sc.length; i++){
if(sc[i] == ' '){
dp[index++] = '%';
dp[index++] = '2';
dp[index++] = '0';
}else{
dp[index++] = sc[i];
}
}
return new String(dp, 0, index);
}
第三种方法和第二种思路一样,只不过不申请3倍容量数组,而是使用springBuilder拼接。
public String replaceSpace (String s) {
// write code here
char sc[] = s.toCharArray();
StringBuilder sb = new StringBuilder();
for(int i = 0; i < sc.length; i++){
if(sc[i] == ' '){
sb.append("%20");
}else{
sb.append(sc[i]);
}
}
return sb.toString();
}

