算法做题- 第一个只出现一次的字符

在字符串 s 中找出第一个只出现一次的字符。如果没有,返回一个单空格。 s 只包含小写字母。

示例 1:

输入:s = "abaccdeff"

输出:'b'

示例 2:

输入:s = ""

输出:' '

因为数组大小固定了26,所以用一个26大小的数组记录字符出次的次数,再把第一次只出现一次的选出来就可以了,优于hash
class Solution {

    public char firstUniqChar(String s) {

        int[] count = new int[26];

        for (char c : s.toCharArray()) {

            count[c - 'a']++;

        }

        for (char c : s.toCharArray()) {

            if (count[c - 'a'] == 1) {

                return c;

            }

        }

        return ' ';

    }

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容