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.
思路
1. use int array to simplify a hashmap
2. one pass to mark each char's occurrence
3. second pass to check 1st index whose char's occurrence == 1
代码
1 class Solution { 2 public int firstUniqChar(String s) { 3 int map [] = new int[256]; 4 for(int i = 0; i < s.length(); i ++) 5 map [s.charAt(i) ] ++; 6 for(int i = 0; i < s.length(); i ++) 7 if(map [s.charAt(i) ] == 1) 8 return i; 9 return -1; 10 } 11 }