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

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

public class Solution {
    public int FirstNotRepeatingChar(String str) {
        char[] chars = str.toCharArray();
        int[] nums = new int['z'+1];
        for(char ch : chars){
            nums[(int)ch]++;
        }
        for(int i = 0; i < chars.length; i++){
            if(nums[(int)chars[i]] == 1){
                return (char)(i);
            }
        }
        return -1;
    }
}

思路:
维护一个数组记录所有访问的字符出现的次数,然后遍历这个数组找到第一个出现一次的字符

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,461评论 0 4
  • 说明: 本文中出现的所有算法题皆来自牛客网-剑指Offer在线编程题,在此只是作为转载和记录,用于本人学习使用,不...
    秋意思寒阅读 4,840评论 1 1
  • 星耀小学寒假共读
    AA珍惜_d3c5阅读 1,209评论 0 0
  • 昨晚我梦见你了 如我所想的那般淡漠 淡漠到让我怀疑你为什么会和我一起走 倒也是现实中发生过的事情 不过这是我的梦 ...
    晓春那得岁寒意阅读 1,027评论 0 0
  • 我与你之间只连着一根细线 可你却能左右我是落地还是飞天 一不小心可能被风扯到天边 有时也会被卡在树杈里面 就想永远...
    李秋蓝阅读 1,274评论 0 3