题目描述
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
题目不难,就是自己做的不好。
脑子不清晰,也忘了考虑边界条件。
好的思路:
由于空格变成%20多出了两位,所以最后字符串一定变长了。
先统计有多少的空格,length - 1 + 2 * 空格数 就是替换后最后一个字符的位置,从后向前依次赋值即可。
void replaceSpace(char *str,int length) { int n1 = 0; int nb = 0; for (int i=0; str[i]!='