且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

LeetCode之First Unique Character in a String

更新时间:2022-04-08 18:52:18

1、题目

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.

2、代码实现

public class Solution {
    public int firstUniqChar(String s) {
        if (s == null || s.length() == 0) {
            return -1;
        }
        HashMap<Character, Integer> map = new HashMap<Character, Integer>();
        for (int i = 0; i < s.length(); i++) {
            Integer in = map.get(s.charAt(i));
            if (in == null) 
                map.put(s.charAt(i), 1);
            else
                map.put(s.charAt(i), 2);
        }
        for (int i = 0; i < s.length(); i++) {
            if(map.get(s.charAt(i)) == 2) {
                continue;
            } else {
                if (map.get(s.charAt(i)) == 1) {
                    return i;
                }
            }
        } 
        return -1;
    }
}