646 · 第一个独特字符位置

646 · 第一个独特字符位置

描述
给出一个字符串。找到字符串中第一个不重复的字符然后返回它的下标。如果不存在这样的字符,返回 -1。

样例
样例 1:

输入 : s = “lintcode”
输出 : 0
样例 2:

输入 : s = “lovelintcode”
输出 : 2

public class Solution {
    /**
     * @param s: a string
     * @return: it's index
     */
    public int firstUniqChar(String s) {
        // write your code here
        Map<Character , Integer> map = new HashMap<Character, Integer>() ;
        for(char c : s.toCharArray()){
          if(map.containsKey(c)){
            map.put(c , map.get(c)+1) ;
          }else{
            map.put(c , 1) ;
          }
        }
        for(int i = 0 ; i < s.length() ; i++){
          if(map.get(s.charAt(i)) == 1){
            return i ;
          }
        }
        return -1 ;
    }
}
上一篇:646


下一篇:Codeforces Round #646 (Div. 2)