代码:
字符作为数组下标的时候,被翻译成ASCII码的,当数字用。
package com.likou;
import java.util.HashMap;
/**
* 在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。
*/
public class test50 {
public static void main(String[] args) {
String s = "cdcdaa";
char re = fun(s);
}
private static char fun(String s) {
char[] chars = s.toCharArray();
int[] count = new int[255];
// 第一次遍历是存每一个字符对应的次数
for(char c : chars){
// 单个字符作为数组下标,其实是将字符翻译成ASCII码,然后去当数组下标的
count[c]++;
}
// 第二次遍历去看字符次数为1的,直接返回
for(char c : chars){
if(count[c] == 1){
return c;
}
}
return ' ';
}
}