字符串替换
1.一个换一个
函数将字符串中的字符'*'移到字符串的前部分,前面的非'*'
字符后移,但不能改变非'*'字符的先后顺序,函数返回串中非'*'字符的数量。(要求尽可能的占用少的时间和辅助空间)。
例如:原始串为au**toc**h**i*ps,处理后为*******autochips,函数返回9.
2.一个换多个(插入)
将空格替换成%20,见<剑指offer>例题4
3.多个换一个(删除)
将字符串中连续的空格删除,只保留一个空格"a b c d"->"a b c d"
#include<stdio.h>
#include<string.h>
#include<malloc.h>
//1.一个换一个:原始串为au**toc**h**i*ps,处理后为*******autochips,函数返回9.
解题思路:
把字符串放入数组arr中,定义两个变量i,j;从后往前,用i去遍历数组中的元素
1.总是让arr[j] = arr[i];
j = i =len-1;
for(i;i>=0 ;i--)
{
if(arr[i] != '*')
{
arr[j--] = arr[i];
}
}
<