我是小白,当然只能用小白的方法解题了,简单粗暴。
思路:用一个count来记录字符出现的次数,先将字符串转化成字符数组,第一层循环拿第i个字符,将第一层拿到的第i个字符分别和再次循环这个数组的每一个字符进行对比,如果发现有相同的字符,count++,break退出第二层for,继续第一层for,直到找到第一个没有重复的字符,打印i,即位置。

public class Solution {
    public int FirstNotRepeatingChar(String str) {
        if(str == null || str == ""){
            return -1;
        }
        char ss[] = str.toCharArray();
        char tmp;
        for(int i = 0; i < ss.length - 1; i++){
            tmp = ss[i];
            int count = 1;
            for(int j = 0; j < ss.length; j++){
                if(i != j){
                    if(tmp == ss[j]){
                        count++;
                        break;
                    }
                }
            }
            if(count == 1){
                return i;
            }
        }
        return -1;
    }
}