[leetcode]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.

思路

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 

代码

扫描二维码关注公众号,回复: 4434235 查看本文章
 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 }

猜你喜欢

转载自www.cnblogs.com/liuliu5151/p/10090777.html