如何从缓冲区中删除空格

时间:2013-05-12 18:22:43

标签: c algorithm buffer

  

如何从O(1)空间复杂度中删除缓冲区中的空格   O(n)时间复杂度?

这个问题的缓冲区是什么意思?我们会将它视为字符串或字符串吗?这是编程测试中提出的一个问题

2 个答案:

答案 0 :(得分:1)

很可能是(可写)字符串或固定数组,可以在O(n)中进行处理;

char* str = strdup("the big dog is cool"), *src = str, *dst = str;

while(*src) {
  if(*src != ' ')
    *dst++ = *src;
  src++;
}
*dst = 0;

// str is thebigdogiscool

答案 1 :(得分:0)

我不确定我是否能够正确地回答您的问题,但如果我没有错,请按以下方式继续

考虑空格,ib缓冲区为0,非空格区为1 现在您有字符序列或字符串或0和1的数组 应用任何排序算法对这些空白和非空白字符进行排序

不确定我是否有意义,但肯定是一种选择。选择排序算法是你的

相关问题