我不确定我是否理解你的问题,但我有一个想法可以帮助你识别重复的符号。
使用“地图”可以解决这个问题,例如:假设我们只使用大写字符,所以我们可以使用整数数组来模拟映射,如果地图中的元素大于 1,则该元素在您的字符串中重复。
这是我在 C++ 中获取该地图的代码:
string str;
int myMap[26]; //an element for each uppercase character
memset(myMap, 0, sizeof myMap); // initialize each element to zero
cin>>str;
for(int i=0; i<str.length(); i++)
{
//(str[i]-'A') will map each character to an integer
// A -> 0, B -> 1, C -> 2, etc.
myMap[(int)(str[i]-'A')]++;
}
//print solution:
for(int i=0; i<26; i++)
{
if(myMap[i] > 1)
{
cout<<(char)(i+'A')<<" is repeated!"<<endl;
}
}
对于您的示例,输出将是:
A is repeated!
C is repeated!
F is repeated!