【数据结构】中删除小写字母字符串中重复字符
程序员文章站
2022-03-22 12:43:10
...
分析问题:
删除小写字母字符串中重复的字符,例如:aabcdeec,删掉重复的字符后:abcde
这个问题使用的方法是:定义i=0和两个下标j、k,开始时都指向第二个a,当a[k]不等于a[i]时,k下标进行++;
当a[k]=a[i]的时候,就将a[k]的值赋值给a[j],依次往后进行,直到a[k]的值等于'\0'的时候,将a[j]的值赋值为'\0'。
将相同的字符串进行删除。
代码的实现:
#include<iostream>
using namespace std;
void DeleteCommonStr(char a[])
{
int i = 0;
while (a[i] != '\0')
{
int j = i + 1;
int k = i + 1;
while (a[k] != '\0')
{
if (a[k] != a[i])
{
a[j] = a[k];
++j;
++k;
}
else
{
++k;
}
}
a[j] = '\0';
++i;
}
}
int main()
{
char a[100];
gets(a);
DeleteCommonStr(a);
cout << "删除相同的字符串之后为:"<<a << endl;
system("pause");
return 0;
}
运行的结果: