Leetcode题解:First Unique Character in a String

来源:互联网 发布:张国荣同性恋 知乎 编辑:程序博客网 时间:2024/06/18 01:59

题目: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;}};


0 0
原创粉丝点击