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

    题目:

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

    解答:

     1 public class Solution {
     2     public static void main(String[] args) {
     3         String str = "ABBBBBBBCCCCCDDDDDDDEEE";
     4         System.out.println(FirstNotRepeatingChar(str));
     5     }
     6 
     7     public static int FirstNotRepeatingChar(String str) {
     8         if(str == null || str.length() == 0) {
     9             return -1;
    10         }
    11 
    12         Map<Character, Integer> map = new HashMap<>(); // HashMap
    13 
    14         for(int i = 0; i < str.length(); i++) {
    15 
    16             if(map.containsKey(str.charAt(i))) {
    17                 int count = map.get(str.charAt(i));
    18                 map.put(str.charAt(i), count+1);
    19             } else {
    20                 map.put(str.charAt(i), 1);
    21             }
    22         }
    23 
    24         for(int i = 0; i < str.length(); i++) {
    25             if(map.get(str.charAt(i)) == 1) {
    26                 return i; // return index
    27             }
    28         }
    29 
    30         return -1;
    31     }
    32 }

  • 相关阅读:
    MOOK学习
    寒假学习计划
    三位影响深刻的老师
    软工第三次作业-结对作业
    2018软工实践第二次作业
    2018软工实践第一次作业
    简单的自我介绍
    福大软工1816 · 第一次作业
    课程作业八
    课程作业七
  • 原文地址:https://www.cnblogs.com/wylwyl/p/10475080.html
Copyright © 2011-2022 走看看