题解 | #替换空格#
替换空格
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(); }