Problem 387

First Unique Character in a String

Posted by Ruizhi Ma on June 17, 2019

问题描述

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.

解决思路

用HashMap,不过HashMap还不太会…过两天学一下,然后来补充完。

问题解惑

代码

package leetcode;

import java.util.HashMap;

public class FirstUniqueCharaterinaString {
    public int firstUniqChar(String s) {
        HashMap<Character, Integer> cnt = new HashMap<>();

        for (Character c:
             s.toCharArray()) {
            cnt.put(c, cnt.getOrDefault(c,0) + 1);
        }

        int n = s.length();

        for (int i = 0; i < n; i++) {
            if (cnt.get(s.charAt(i)) == 1) {
                return i;
            }
        }
        return -1;
    }
}

小感想

**注意: **