1. 程式人生 > >leetcode First Unique Character in a String

leetcode First Unique Character in a String

First Unique Character in a String 

不重複的字元第一次出現的位置的索引

解題:建立map,建立每一個字元出現的次數,第一個字元次數是1的返回。

public static void main(String[] args) {
//		String s="leetcode";
		String s="loveleetcode";
		int num = firstUniqChar(s);
		System.out.println(num);

	}
	public static int firstUniqChar(String s) {
		if(s==null || s.length()==0){
			return -1;
		}
		Map<Character, Integer> characterIntegerMap = changeCanConstructChangeMap(s);
		for(int i=0;i<s.length();i++){
			char c = s.charAt(i);
			Integer integer = characterIntegerMap.get(c);
			if(integer==1){
				return i;
			}
		}
		return -1;
	}
	public static Map<Character,Integer> changeCanConstructChangeMap(String ransomNote){
		Map<Character,Integer> map=new HashMap<>();
		for(int i=0;i<ransomNote.length();i++){
			char c = ransomNote.charAt(i);
			if(map.containsKey(c)){
				map.put(c,map.get(c)+1);
			}else{
				map.put(c,1);
			}
		}
		return map;
	}