思路:这个题目求的是只出现一次的字符的位置
最简单的解法,如果该字符只出现一次,那么从前开始查找和从后开始查找,找到的下标都应该是同一个。
//解法一:
public class Solution {
public int FirstNotRepeatingChar(String str) {
for (int i = 0; i < str.length(); i++) {
if (str.indexOf(str.charAt(i)) == str.lastIndexOf(str.charAt(i)))
return i;
}
return -1;
}
}
/*public class Solution {
public int FirstNotRepeatingChar(String str) {
int[] array = new int[58];
for(int i = 0; i < str.length(); i++){
array[str.charAt(i) - 'A'] += 1;
}
for(int j = 0; j < str.length(); j++){
if(array[str.charAt(j) - 'A'] == 1)
return j;
}
return -1;
}
}*/