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);
        }
    }
  • 相关阅读:
    手势识别 ios
    无题
    核心动画笔记
    Quartz2D的学习2
    Quartz2D的学习1
    NSURLsessionTask
    NSURLSession
    POST请求的两种方式
    网络第一天
    NSThread
  • 原文地址:https://www.cnblogs.com/goodtest2018/p/13664257.html
Copyright © 2011-2022 走看看