您的位置:首页 > Web前端

剑指offer—第一个只出现一次的字符位置

2015-10-05 21:07 337 查看
华电北风吹

天津大学认知计算与应用重点实验室

日期:2015/10/5

题目描述

在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符的位置。若为空串,返回-1。位置索引从0开始

解析:全部由字母组成的字符串,字母也就那么几个,计数排序的思路即可。

class Solution {
public:
int FirstNotRepeatingChar(string str)
{
int n=str.size();
if(n<=0)
return -1;
int count[256]={0};
int i;
for(i=0;i<n;i++)
{
count[str[i]]++;
}
i=0;
while(str[i]!='\0')
{
if(count[str[i]]==1)
return i;
i++;
}
if(i==n)
return -1;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: