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

来源:互联网 发布:死神vs火影月改优化版 编辑:程序博客网 时间:2024/06/09 22:51

题目描述

在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置。如果字符串为空,返回-1


思路:

首先用数组,遍历过程中对应字符相同的地方会增加。

然后第二次仍按照顺序去取,等于1的就返回它的下标。

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


0 0