zoukankan      html  css  js  c++  java
  • 找出字符串中第一个只出现一次的字符

    找出字符串中第一个只出现一次的字符

    package my;
    
    import java.util.HashMap;
    //问题:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,
    //并返回它的位置, 如果没有则返回 -1(需要区分大小写).
    
    public class FindFirstStringSolution {
        int  findFirstStr(String str){
            if(str.length() ==0 ||str == null){
                return -1;
            }
            HashMap<Character, Integer> map = new HashMap<>();
            for(int i=0 ; i < str.length() ; i++){
                char c= str.charAt(i);
                if(map.containsKey(str.charAt(i))){
                    map.put(c,map.get(c)+1);
                }else{
                    map.put(c,1);
                }
            }
    
           for(int j = 0 ; j<str.length(); j++){
               if(map.get(str.charAt(j))== 1){
                   System.out.println(str.charAt(j));
                   return j;
               }
           }
           return -1;
        }
        public static void main(String[] args){
            String str ="aabbcf33";
            int n = new FindFirstStringSolution().findFirstStr(str);
            System.out.println(n);
        }
    }
  • 相关阅读:
    文件操作与函数
    编码格式
    if、while、for快速掌握
    运算符、数据类型、数据结构
    正则表达式
    面向对象--属性
    面向对象--对象的创建
    函数的内置属性
    类型检查
    函数表达式 及 闭包
  • 原文地址:https://www.cnblogs.com/goodtest2018/p/13664257.html
Copyright © 2011-2022 走看看