把字符串中的每个空格换成“%20”。
注意:如果在原来的字符串上做替换,要保证字符串最后有足够的空余内存
直接的解法:时间复杂度为O(n^2)
从头到尾扫描字符串,每次碰到空格的时候做替换。由于是把一个字符换成三个字符,必须把空格
后面的所有字符都向后移动两个字节,否则就有两个字符被覆盖了。
效率不高的原因是很多字符都移动了很多次,所以应该减少移动次数。
从后向前替换:时间复杂度是O(n)
我们可以先遍历一次字符串,这样就能统计出字符串的总长度和空格的数目。每替换一次空格,
长度增加2.因此,我们替换以后的字符串长度等于原来的长度加上2*空格的数目。