zoukankan      html  css  js  c++  java
  • 剑指offer——第一次只出现一次的字符

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

    解题思路:

    这道题考察的是HashMap,遍历一遍字符,如果这个字符在Map中,value++,否则传入<字符,1>

     1 import java.util.HashMap;
     2 import java.util.Map;
     3 public class Solution {
     4     public int FirstNotRepeatingChar(String str) {
     5         
     6         HashMap<Character,Integer> map = new HashMap<Character,Integer>();
     7         
     8         for(int i=0;i<str.length();i++)
     9         {
    10             if(map.containsKey(str.charAt(i)))
    11             {
    12                 int value = map.get(str.charAt(i));
    13                 map.put(str.charAt(i),++value);
    14             }
    15             else
    16             {
    17                 map.put(str.charAt(i),1);
    18             }
    19         }
    20         
    21         for(int i=0;i<str.length();i++)
    22         {
    23             if(map.get(str.charAt(i))==1)
    24                 return i;
    25         }
    26         return -1;
    27     }
    28 }
  • 相关阅读:
    python函数篇
    字符编码和文件处理
    对话代码
    复习2
    [转]借闪光灯的东风 成就你完美的摄影作品
    色系
    Oracle的一些基本操作
    iebook line flash
    网站收录
    复习1
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10872545.html
Copyright © 2011-2022 走看看