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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LX18792732127/article/details/76788052

分析问题:

删除小写字母字符串中重复的字符,例如: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;
}
运行的结果:



猜你喜欢

转载自blog.csdn.net/LX18792732127/article/details/76788052