387. First Unique Character in a String | LeetCode

 387First Unique Character in a String

Given a string sfind the first non-repeating character in it and return its index. If it does not exist, return -1.

 

Example 1:

Input: s = "leetcode"
Output: 0

Example 2:

Input: s = "loveleetcode"
Output: 2

Example 3:

Input: s = "aabb"
Output: -1

 

Constraints:

  • 1 <= s.length <= 105
  • s consists of only lowercase English letters.

The solution to the above question is-

class Solution {
public:
    int firstUniqChar(string s) {
        int arr[26]={0};
        queue<char>q;
        queue<int>ans;
        for(int i=0; i<s.length(); i++){
            arr[s[i]-'a']++;
            q.push(s[i]);
            ans.push(i);
            
        }
        while(true){
            if(!q.empty() && arr[q.front()-'a']>1){
                q.pop();
                ans.pop();
            }
            else{
                break;
            }
        }
        if(q.empty())return -1;
            return ans.front();
    }
};

Post a Comment

0 Comments