leetcode 上这一题只要其余小写,因此设置一个26大小的表对应字母的下标,本题包括大写,因此标的大小应该是a~z(97~122),A~Z (65~90)共58位,代码如下:
public class Solution {
public int FirstNotRepeatingChar(String str) {
if(str.length() == 0){ return -1;}
if(str.length() == 1){return 0;}
int[] table = new int[58];
char[] arr = str.toCharArray();
for(int i= 0; i < arr.length ;i++){
table[(arr[i]-'A')]++;
}
for(int i= 0; i < arr.length ;i++){
if(table[arr[i]-'A'] == 1){
return i; //当等于1的时候就return ,我居然还写了个break,多此一举还一直报错;
}
}
return -1;
}
}