337 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.

 

if (s.length() == 0) {
return -1;
}

Map<Character, Integer> ht = new HashMap<Character, Integer>();
List<Integer> ls = new LinkedList<Integer>();

for (int i = 0; i < s.length(); i++) {
if (!ht.containsKey(s.charAt(i))) {
ls.add(i);
ht.put(s.charAt(i), i);
} else {
ls.remove(ht.get(s.charAt(i)));
}
}

return (ls.size() == 0) ? -1 : ls.get(0);

posted @ 2017-05-10 16:06  阿宝果果  阅读(112)  评论(0)    收藏  举报