• 牛客(34)第一个只出现一次的字符


    //    题目描述
    //    在一个字符串(1<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置
        public static int FirstNotRepeatingChar(String str) {
    //        char[] chars = str.toCharArray();
    //        int count = 0;
    //        for (int i=0; i<chars.length;i++){
    //            count = 0;
    //            for (int j=0;j<chars.length;j++){
    //                if (chars[i]==chars[j]){
    //                    count++;
    //                }
    //            }
    //            if (count == 1){
    //                return i;
    //            }
    //        }
    //        return -1;
            Map<Character,Integer> map = new HashMap<Character, Integer>();
            char[] chars = str.toCharArray();
            for (int i=0; i<chars.length;i++){
                if (map.containsKey(chars[i])){
                    Integer integer = map.get(chars[i]);
                    integer++;
                    map.put(chars[i],integer);
                }else {
                    map.put(chars[i],1);
                }
            }
            for (int i=0; i<chars.length;i++){
                Integer integer = map.get(chars[i]);
                if (integer == 1){
                    return i;
                }
            }
            return -1;
        }
  • 相关阅读:
    循环逗号分割数组!
    只是想好好学习一下!
    html元素水平垂直居中
    闭包知识点--笔记
    20160314
    从零开始做运维-零
    Nginx 和 CodeIgniter
    安装PIL库
    init
    NutUI3 多端实践之路
  • 原文地址:https://www.cnblogs.com/kaibing/p/9044787.html
Copyright © 2020-2023  润新知