[leetCode刷题笔记]387. First Unique Character in a String

来源:互联网 发布:淘宝右侧品牌精选 编辑:程序博客网 时间:2024/06/07 15:35

从今天开始,刷题慢工细作!

HashMap解法

public class Solution {    public int firstUniqChar(String s) {        Map<Character, Integer> charMap = new HashMap<Character, Integer>();        for (int i = 0; i < s.length(); i++) {            char curChar = s.charAt(i);            if (charMap.containsKey(curChar)) {                charMap.put(curChar, charMap.get(curChar) + 1);            }            else {                                charMap.put(curChar, 1);            }                    }        for (int i = 0; i < s.length(); i++) {            char curChar = s.charAt(i);            if (charMap.get(curChar) == 1) {                return i;            }        }        return -1;    }}
第二种解法,用array

public class Solution {    public int firstUniqChar(String s) {        int[] charArray = new int[26];                for (int i = 0; i < s.length(); i++) {            char cur = s.charAt(i);            charArray[cur - 'a']++;        }         for (int i = 0; i < s.length(); i++) {            char cur = s.charAt(i);            if (charArray[cur - 'a'] == 1) {                return i;            }        }        return -1;    }}



0 0