387. First Unique Character in a String
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.
Examples:
s = "leetcode" return 0. s = "loveleetcode", return 2.
Note: You may assume the string contain only lowercase letters.
---
---
First unique character means we have to check all characters, time complexity is linear
Time - O(n)
Space - O(1)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Solution { | |
public int firstUniqChar(String s) { | |
int[] freq = new int[26]; | |
for (int i = 0; i < s.length(); i++) { | |
freq[s.charAt(i) - 'a']++; | |
} | |
for (int i = 0; i < s.length(); i++) { | |
if (freq[s.charAt(i) - 'a'] == 1) { | |
return i; | |
} | |
} | |
return -1; | |
} | |
} |