您的位置:首页 > Web前端

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

2017-04-25 20:50 381 查看


题目描述

在一个字符串(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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: