字符串 面试题5:替换空格 解题思路 由于java中的字符串被设计成不可变类型,因此无法修改字符串中的某一位字符,如果想实现替换空格,那么必须新建一个字符串。具体做法:利用StringBuilder类来新建一个字符串用于存放最终输出的结果。 源代码 class Solution { public String replaceSpace(String s) { StringBuilder sb = new StringBuilder(); for (char ch : s.toCharArray()) { if(ch==' '){ sb.append("%20"); }else{ sb.append(ch); } } return sb.toString(); } } // 也可以采用字符数组 class Solution { public String replaceSpace(String s) { char[] newArr = new char[s.length() * 3]; // 一个空格变为三个字符 int size = 0; for (int i = 0; i < s.length(); i++) { char ch = s.charAt(i); if (ch == ' ') { newArr[size++] = '%'; newArr[size++] = '2'; newArr[size++] = '0'; } else { newArr[size++] = ch; } } return new String(newArr, 0, size); } }