题目:
简述题目:
找出字符串s中第一个没有重复出现的字符,并返回其index。如果没有,则返回-1
思路:
将字符串先遍历一次,并将其中出现的字符做一个统计,然后再遍历一次,如果出现了一个字符的统计出现次数为1,那么直接返回index,否则返回-1
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class firstUniqChar387 {
public static int firstUniqChar(String s) {
char[] sArray = s.toCharArray();
Map<Character, Integer> map = new HashMap<>();
for(char ch : sArray){
if(map.containsKey(ch)){
map.put(ch,map.get(ch)+1);
}else {
map.put(ch,1);
}
}
for(int i = 0 ; i < sArray.length ; i++){
if(map.get(sArray[i]) == 1)
return i;
}
return -1;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String string = "loveleetcode";
System.out.println(firstUniqChar(string));
}
}