解题思路
java中,char是两个字节,能表示2^8个字符
Java 代码
class Solution {
public char firstNotRepeatingChar(String s) {
if(s.length() == 0) return '#';
int num[] = new int[256]; //开辟一个能存放所有字符的数组
for(int i = 0; i < s.length(); i++){
num[s.charAt(i)]++; //char 会自动转型为int
}
for(int i = 0; i < s.length(); i++){
if(num[s.charAt(i)] == 1) return s.charAt(i);
}
return '#';
}
}
我就是这样想的,只开了26个,发现不够,hhhh