找出字串只出現一次的的第一個字元
阿新 • • 發佈:2019-01-23
hash表實現:
public char search(String str){
char[] array=str.toCharArray();
int[] hashtable=new int[256];
for(int i=0;i<256;i++){
hashtable[i]=0;
}
for(int i=0;i<array.length;i++){
hashtable[array[i]]++;
}
for (int i = 0; i < array.length; i++){
if (hashtable[array[i]] == 1){
return array[i];
}
}
return ' ';
}
public static char findOne(String str){
HashMap<Character,Integer> map=
new HashMap<Character,Integer>();
for (int i=0;i<str.length();i++){
if(map.containsKey(str.charAt(i))){
map.put(str.charAt(i), map.get(str.charAt(i))+1);
}else{
map.put(str.charAt(i), 1);
}
}
int index=-1;
for(int i=0;i<str.length();i++){
if (map.get(str.charAt(i))==1){
index=i;
break;
}
}
return str.charAt(index);
}