实现删除空格。返回删除的空格个数。
例如“ABA CD ED”变成“ABACDED”。(不能申请相同量级的空间。)
int delspace(char *pSrc)
{
int left = 0;
int right = 0;
char * pStr = pSrc;
int count = 0;
while (*pStr != '\0') {
if (*pStr != ' ') {
left++;
right++;
pStr++;
continue;
}
char *pTemp = pStr;
while(*pTemp != '\0') {
if (*pTemp == ' ') {
right++;
pTemp++;
} else {
break;
}
}
if (*pTemp == '\0') {
pSrc[left] = '\0';
break;
}
char temp = pSrc[right];
pSrc[right] = pSrc[left];
pSrc[left] = temp;
left++;
right = left;
pStr++;
count++;
}
return count;
}
int main()
{
char pSrc[] = "ABA CD ED";
cout<<delspace(pSrc);
}