char FindFirstOnlyChar(const char* s)
{
int num[26]={0};
int index[26]={0};
int i,len;
len = strlen(s);
for(i=0;i<len;i++)
{
num[s[i]-'a']++;
//记住这个字符第一次出现的位置
if(0==index[s[i]-'a'])
index[s[i]-'a']=i;
}
int pos=len;//用pos记住最早出现一个字符出现的位置
for(i=0;i<26;i++)
{
if(num[i]==1)
{
if(pos>index[i])
{
pos = index[i];
}
}
}
if(len == pos)
{
return -1;
}
else
{
return s[pos];
}
}
{
int num[26]={0};
int index[26]={0};
int i,len;
len = strlen(s);
for(i=0;i<len;i++)
{
num[s[i]-'a']++;
//记住这个字符第一次出现的位置
if(0==index[s[i]-'a'])
index[s[i]-'a']=i;
}
int pos=len;//用pos记住最早出现一个字符出现的位置
for(i=0;i<26;i++)
{
if(num[i]==1)
{
if(pos>index[i])
{
pos = index[i];
}
}
}
if(len == pos)
{
return -1;
}
else
{
return s[pos];
}
}
本文介绍了一个C语言函数FindFirstOnlyChar,该函数用于在一个字符串中找到第一个只出现一次的字符,并返回该字符。通过使用两个数组分别记录每个字符出现的次数及其首次出现的位置,函数可以有效地找出目标字符。
3103

被折叠的 条评论
为什么被折叠?



