题目:在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
思路:遍历这个字符串,并记录每个字符出现的次数。
import java.util.ArrayList;
import java.util.Iterator;
public class Solution {
public int FirstNotRepeatingChar(String str) {
ArrayList<Entry> list = new ArrayList();
String[] Strings = str.split("");
for(int i=0;i<Strings.length;i++){
if(!"".equals(Strings[i])){
Iterator it = list.iterator();
boolean contains = false;
while(it.hasNext()){
Solution.Entry entry = (Solution.Entry)it.next();
if(Strings[i].equals(entry.str)){
entry.count++;
contains = true;
}
}
if(!contains){
list.add(new Solution.Entry(Strings[i],i));
}
}
}
for(Solution.Entry entry:list){
if(entry.count == 1){
return entry.index;
}
}
return -1;
}
public static class Entry{
public String str;
public int index;
public int count;
public Entry(String str,int index){
this.str = str;
this.index = index;
count++;
}
}
}