题目原址
https://leetcode.com/problems/first-unique-character-in-a-string/description/
题目描述
Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.
Example:
s = “leetcode”
return 0.s = “loveleetcode”,
return 2.
Note: You may assume the string contain only lowercase letters.
解题思路
这个题比较好解
(1) 先定义一个整型数组,用来存储传递的字符串字符
(2) 通过for循环,将字符串中的字符存进数组中,每个字符都-‘a’,这样每个字符都转换为整数,因此整型数组的容量为26
(3)同一个字符存储在同一个地址中,字符值作为数组的下标,字符个数作为对应下标的数组值
(4)再通过for循环找到整型数组中值为1的值就是字符串中只出现一次的字符下标
AC代码
class Solution {
public static int firstUniqChar(String s) {
int[] c = new int[26];
boolean flag = false;
for(int i = 0; i < s.length(); i++) {
c[s.charAt(i) - 'a']++;
}
for(int i = 0; i < s.length(); i++) {
if(c[s.charAt(i) - 'a' ] == 1)
return i;
}
return -1;
}
}