如何从O(1)空间复杂度中删除缓冲区中的空格 O(n)时间复杂度?
这个问题的缓冲区是什么意思?我们会将它视为字符串或字符串吗?这是编程测试中提出的一个问题
答案 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的数组 应用任何排序算法对这些空白和非空白字符进行排序
不确定我是否有意义,但肯定是一种选择。选择排序算法是你的