34、第一个只出现一次的字符

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

import java.util.HashMap;
public class Solution {
    public int FirstNotRepeatingChar(String str) {
        HashMap<Character,Integer> ha = new HashMap<>();
        for(int i=0; i<str.length(); i++){
            if(ha.get(str.charAt(i))==null){
                ha.put(str.charAt(i),1);
            }else{
                int tmp = ha.get(str.charAt(i));
                tmp++;
                ha.put(str.charAt(i),tmp);
            }
        }
        
        int index = -1;
        for(int i=0; i<str.length(); i++){
            if(ha.get(str.charAt(i))!=null && ha.get(str.charAt(i))==1){
                index = i;
                break;
            }
        }
        return index;
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一个只出现一次的字符 题目描述 在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只...
    echoVic阅读 4,744评论 3 2
  • 题目描述在一个字符串(1<=字符串长度<=10000,全部由大写字母组成)中找到第一个只出现一次的字符,并返回它的位置
    juexin阅读 981评论 0 0
  • 在c语言中,字符串是用字符数组来存储的(并不像c++或者java等语言中有单独的string类型), 存放时在字符...
    朱森阅读 5,473评论 0 2
  • 每个人都不是一个孤岛而每个人却的确是一个孤岛。自己走不出去别人也闯不进来。 开始的开始,我们都是个孩子,牙牙学语、...
    单色琳阅读 2,849评论 0 2
  • 我最近想做个乐观的人,我开始意识到,太悲伤,是没有用的。 这世上,有时候连同情都得不到,这是我高中三年得得到的教训...
    说谎的狐狸阅读 1,612评论 16 0