第一个只出现一次的字符位置

Posted 氵冫丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一个只出现一次的字符位置相关的知识,希望对你有一定的参考价值。

题目

在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符的位置。若为空串,返回-1。位置索引从0开始

解题

如:ghkdmghkddmolllpj
出现一次的字符:opj
第一个出现一次的字符:o
数组或者Hash

public class Solution {
    public int FirstNotRepeatingChar(String str) {
        if(str == null || str.length() ==0)
            return -1;
        int[] A = new int[256];
        for(int i=0;i<str.length();i++){
            char ch = str.charAt(i);
            A[ch]++;
        }
        for(int i=0;i<str.length();i++){
            char ch = str.charAt(i);
            if(A[ch] == 1)
                return i;
        }
        return -1;
    }
}

数组比较简单

以上是关于第一个只出现一次的字符位置的主要内容,如果未能解决你的问题,请参考以下文章

第一个只出现一次的字符位置-剑指Offer

剑指offer34:第一个只出现一次的字符的位置

第一个只出现一次的字符位置

第一个只出现一次的字符位置

剑指offer-第一个只出现一次的字符

第一个只出现一次的字符位置