https://leetcode.com/problems/first-unique-character-in-a-string/ public class Solution { public int firstUniqChar(String s) { int[] index = new int[26]; for (int i=0; i<s.length(); i++) { int ch = s.charAt(i) - 'a'; if (index[ch] == 0) { index[ch] = i + 1; } else if (index[ch] > 0) { index[ch] = -1; } } int ret = s.length() + 1; for (int i=0; i<26; i++) { if (index[i] > 0 && index[i] < ret) { ret = index[i]; } } if (ret == s.length() + 1) { return -1; } else { return ret - 1; } } }