• 剑指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 }
  • 相关阅读:
    数据压缩和归档
    数据持久化
    文件和目录的使用
    数据及数据处理
    data types
    string services
    logging模块
    指导
    比较两个NSDate类型的参数相差的时间差
    推送 iOS 10
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10872545.html
Copyright © 2020-2023  润新知