题目描述
在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).(从0开始计数)
示例1
输入
复制
"google"
返回值
复制
4
public class Solution {
public int FirstNotRepeatingChar(String str) {
class CharCount {
public char ch;
public int count;
public int index;
public CharCount() {
count = 0;
}
}
CharCount[] arr = new CharCount[64];
int arr_len = 0;
char tmp;
boolean isFound;
for (int i = 0; i < str.length(); i++) {
tmp = str.charAt(i);
isFound = false;
for (int j = 0; j < arr_len; j++) {
if (arr[j].ch == tmp) {
isFound = true;
arr[j].count++;
}
}
if (!isFound) {
CharCount ct = new CharCount();
arr[arr_len] = ct;
arr[arr_len].ch = tmp;
arr[arr_len].count++;
arr[arr_len].index = i;
arr_len++;
}
}
for (int i = 0; i < arr_len; i++) {
if (arr[i].count == 1) {
return arr[i].index;
}
}
return -1;
}
}