思路: 例如把we are happy这个字符串中所有空格替换成"%20",最直接的做法是从头开始扫苗,遇到空格就替换,并且把空格后面的字符都顺序后移.复杂度O(n^2). 重要思想(这个从后往前的思想特别重要,举一反三的例子也是):先扫描一遍字符串统计出空格数量blanknum,由于每个空格被替换成3个字符"%20",即每替换一个空格总长度增加2,因此最后总的长度应该是原长+blanknum*2.然后对字符串从后往前扫描,不是空格的直接移动到新位置,如果是空格替换
public class Solution { public String replaceSpace(StringBuffer str) { String str1=str.toString(); char[] charArray = str1.toCharArray(); StringBuilder sBuilder = new StringBuilder(); for (char c : charArray) { if(c==' ') { sBuilder.append("%20"
重点:字符串和元组一样, 是不可变对象. 所以将创建一个新的字符串对象,将改变后的字符加入到该新的对象里. 两种方法: 1.python的 replace函数 2.判断修改 def replace(a): return a.replace(" ", "%20") def replace1(a): b = "" for i in range(len(a)): if a[i] == " ": b += "%20"