程序媛詹妮弗
终身学习

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 }

 

posted on 2018-12-09 12:37  程序媛詹妮弗  阅读(101)  评论(0编辑  收藏  举报