统计一个字符串中只出现一次的字母的个数
输入:一个字符串
输出:一个整数
示例:abbc
输出:2(a和c)
思路:先将字母进行排序,然后从依次比较,如果不相同,count直接++,如果相同,将循环参数往后推,推到刚好不相同,再从那个数开始比较
代码:c++
#include<iostream>
#include<string>
using namespace std;
void sort(string &s) //对字符串进行排序
{
int k,t;
for(int i=0;i<s.length()-1;i++){
k=i;
for(int j=i+1;j<s.length();j++)
{
if(s[k]>s[j])
{
k=j;
}
}
t=s[k];
s[k]=s[i];
s[i]=t;
}
}
//统计一个字符串中只出现一次的字母的个数 。。。。。。
int countN(string s)
{
int count =0;
for(int i=0;i<s.length();i++)
{
if(s[i]!=s[i+1])
{
count++;
}
else{
for(int j=i+1;j<s.length();j++)
{
if(s[j]==s[j+1])
{
continue;
}
else{
i=j;
break;
}
}
}
}
return count;
}
int main() {
string s;
cin>>s;
sort(s);
int n=countN(s);
cout<<n;
return 0;
}