#include<iostream>
#include<map>
#include<algorithm>
using namespace std;
/*-----------------------------------------------------------------------
#define N 256
int charHash[N] = {0};
void initCharHash(const char *s)
{
while(*s)
{
charHash[*s]++;
s++;
}
}
char findFirstOnceChar(const char *s)
{
while(*s)
{
if(charHash[*s] == 1)
{
return *s;
}
s++;
}
return 0;
}
-------------------------------------------------------------------------*/
char findSingle(char *str)//一遍扫描法
{
int hash[256]={0};//字符有256个
char *p = str;
while(*p != '\0')
{
hash[*p]++; //hash数组的下标是字符的阿斯卡码
p++;
}
for(int i=0;i<256;i++)
{
if(hash[i] == 1)
{
return (i); //返回hash数组的下标,及返回第一次出现出现次数为一的字符
}
}
}
int main()
{
char *str=" many great pickup artists agree: \
The fear of a cold approach never goes away. \
It's hardwired into your brain.Confidence is \
not the objective. ";
cout<<findSingle(str)<<endl;
return 0;
}
统计字符串中第一个出现次数为1的字符
最新推荐文章于 2023-07-11 15:51:29 发布