题目:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置。如果字符串为空,返回-1
思路:map的思想。。。存一下每个字符出现的次数,然后扫一遍map,找到值为1的返回即可
public int FirstNotRepeatingChar(String str) { if(str.length()==0) return -1; int[] res=new int[123]; for(int i=0;i<str.length();i++){ res[str.charAt(i)]++; } int i=0; for(;i<str.length();i++){ if(res[str.charAt(i)]==1){ break; } } return i; }