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

xiaoxiao2021-02-28  95

分析问题:

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

转载请注明原文地址: https://www.6miu.com/read-60059.html

最新回复(0)