LeetCode First Unique Character in a String

时间:2021-12-16 14:44:09

原题链接在这里:https://leetcode.com/problems/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.

题解:

扫两遍string. 第一遍s.chatAt(i)的对应count++. 第二遍找第一个count为1的char, return其index.

Time Complexity: O(s.length()). Space: O(1), 用了count array.

AC Java:

 class Solution {
public int firstUniqChar(String s) {
if(s == null || s.length() == 0){
return -1;
} int [] count = new int[256];
for(int i = 0; i<s.length(); i++){
count[s.charAt(i)]++;
} for(int i = 0; i<s.length(); i++){
if(count[s.charAt(i)] == 1){
return i;
}
} return -1;
}
}

类似Sort Characters By Frequency.