欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【数据结构】中删除小写字母字符串中重复字符

程序员文章站 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;
}
运行的结果:

【数据结构】中删除小写字母字符串中重复字符