zoukankan      html  css  js  c++  java
  • 面试题:第一个出现的字符位置

    题目描述:在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).

    方法1:哈希表

    import java.util.HashMap;
    public class Solution {
        public int FirstNotRepeatingChar(String str) {
            HashMap<Character,Integer> map=new HashMap<Character,Integer>();
            for(int i=0;i<str.length();i++){
                char c = str.charAt(i);
                if(map.containsKey(c)){
                    int time = map.get(c);
                    time++;
                    map.put(c,time);
                }else{
                    map.put(c,1);
                }
            }
            for(int i=0;i<str.length();i++){
                char c = str.charAt(i);
                int flag = map.get(c);
                if (flag == 1)
                    return i;
            }
            return -1;
        }
    }
  • 相关阅读:
    多重继承
    单继承
    访问限制方法
    猜字游戏
    getSet方法
    访问限制
    __str__函数
    析构函数
    构造函数二
    选择排序
  • 原文地址:https://www.cnblogs.com/Aaron12/p/9506391.html
Copyright © 2011-2022 走看看