思路: 例如把we are happy这个字符串中所有空格替换成"%20",最直接的做法是从头开始扫苗,遇到空格就替换,并且把空格后面的字符都顺序后移.复杂度O(n^2). 重要思想(这个从后往前的思想特别重要,举一反三的例子也是):先扫描一遍字符串统计出空格数量blanknum,由于每个空格被替换成3个字符"%20",即每替换一个空格总长度增加2,因此最后总的长度应该是原长+blanknum*2.然后对字符串从后往前扫描,不是空格的直接移动到新位置,如果是空格替换
[字符串与数组] Q:Write a method to replace all spaces in a string with ‘%20’ 题目:写一个算法将一个字符串中的空格替换成%20 解答: 很直观的解法,首先统计出字符串中空格个数,然后分配新的内存空间,依次从头到尾复制原字符串到新字符串中,遇到空格,则复制%20这三个字符.还有没有其他更好点的方法呢?? char* replace(char* str){ int len=strlen(str); int spaceNum=0; int