387. First Unique Character in a String

来源:互联网 发布:java restful框架 编辑:程序博客网 时间:2024/06/08 11:35

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.

方法1:hashmap

    public int firstUniqChar(String s) {        Map<Character, Integer> map = new HashMap<Character, Integer>();        int len = s.length();        for(int i = 0; i < len; i++) {            char c = s.charAt(i);            int count = 0;            if(map.containsKey(c)) {                count = map.get(c);            }            map.put(c, count + 1);        }        for(int i = 0; i < len; i++) {            char c = s.charAt(i);            if(map.get(c) == 1) {                return i;            }        }        return -1;    }

这里写图片描述

方法二:数组

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

这里写图片描述

原创粉丝点击