当前位置: 代码迷 >> 综合 >> 02.leetcode-387.First Unique Character in a String
  详细解决方案

02.leetcode-387.First Unique Character in a String

热度:23   发布时间:2024-01-10 16:05:31.0

题目:

387.字符串中的第一个唯一字符Given a string, find the first non-repeating character in it and return its index. If it doesn't exist, return -1.

找出字符串中的第一个唯一(不重复)字符;不存子啊返回-1

分析:

暴力破解时间复杂度依旧为O(n^2);

此外还有许多其他方法,这里就不介绍了,包括hash;

解决方案:

循环26个字母,统计每个字母出现次数为1的字母,写入按出现的index排序的数组;

然后取数组里最前面的那个;或者为空时是-1;

class Solution {public int firstUniqChar(String s) {// 创建一个记录各字母出现频率的数组int freq[] = new int[26];for (int i = 0; i < s.length(); i ++){freq[s.charAt(i) - 'a'] ++;}for (int i = 0; i < s.length(); i ++){if(freq[s.charAt(i) - 'a'] == 1){return i;}}return -1;}
}

 

  相关解决方案