C 如何从缓冲区中删除空格
如何在O(1)空间复杂度和 O(n)时间复杂度 在这个问题中,缓冲区是什么意思?我们会把它看成是字符串或字符串吗?这是编程测试中提出的一个问题很可能是一个(可写)字符串或固定数组,可以在O(n)中就地处理C 如何从缓冲区中删除空格,c,algorithm,buffer,C,Algorithm,Buffer,如何在O(1)空间复杂度和 O(n)时间复杂度 在这个问题中,缓冲区是什么意思?我们会把它看成是字符串或字符串吗?这是编程测试中提出的一个问题很可能是一个(可写)字符串或固定数组,可以在O(n)中就地处理 我不确定我是否能正确回答你的问题,但如果我没有错,请按照下面的方式进行 将空格ib缓冲区视为0,将非空格视为1 现在有了0和1的字符序列、字符串或数组 应用任何排序算法对这些空白字符和非空白字符进行排序 我不确定我说的是否有道理,但这肯定是一种选择。排序算法的选择是你的我假设它们表示一个长度一
我不确定我是否能正确回答你的问题,但如果我没有错,请按照下面的方式进行 将空格ib缓冲区视为0,将非空格视为1 现在有了0和1的字符序列、字符串或数组 应用任何排序算法对这些空白字符和非空白字符进行排序
我不确定我说的是否有道理,但这肯定是一种选择。排序算法的选择是你的我假设它们表示一个长度一定的数组(可能是以空结尾的字符串)。我们的意思是什么你的问题还是测试的一部分?空白?有一种叫做非空白的东西吗?
char* str = strdup("the big dog is cool"), *src = str, *dst = str;
while(*src) {
if(*src != ' ')
*dst++ = *src;
src++;
}
*dst = 0;
// str is thebigdogiscool