📜  C ++程序从字符串中删除空格

📅  最后修改于: 2022-05-13 01:57:07.987000             🧑  作者: Mango

C ++程序从字符串中删除空格

给定一个字符串,从中删除所有空格。例如,“gee k”应转换为“geek”,“ge”应转换为“ge”。

这个想法是从左到右遍历字符串并在遍历时忽略空格。我们需要跟踪两个索引,一个用于当前字符为红色,另一个用于输出中的当前索引。

// C++ program to evaluate a given expression
#include 
using namespace std;
  
char *removeSpaces(char *str)
{
    int i = 0, j = 0;
    while (str[i])
    {
        if (str[i] != ' ')
           str[j++] = str[i];
        i++;
    }
    str[j] = '\0';
    return str;
}
  
// Driver program to test above function
int main()
{
    char str1[] = "gee    k   ";
    cout << removeSpaces(str1) << endl;
  
    char str2[] = " g e e k ";
    cout << removeSpaces(str2);
    return 0;
}

输出:

geek
geek

上述实现的时间复杂度是 O(n) 其中 n 是输入字符串中的字符数。