您的位置:首页 > 产品设计 > UI/UE

Leetcode题解:First Unique Character in a String

2016-09-06 01:17 381 查看
题目:Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.

难度:Easy

解题思路:比较容易想到的方法是用哈希表,先遍历一遍字符串,因为只有26个小写字母,开一个大小为26的数组a,对每一个扫到的字母,a[s[i]-'a']++,这样可以记录每个字母出现的次数,再遍历一遍字符串,找出a[s[i]-'a']=1的下标i,这种做法时间复杂度为O(n)

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