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 是输入字符串中的字符数。