java 求解字符串中第一次出现的字符的位置

原创 2016年03月27日 22:45:10

题目:

在字符串中找出第一个只出现一次的字符的位置,如输入“abaccdeff”,则输出“2”。

解法:以空间换时间,借助Hashmap实现

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class Solution {
    public int FirstNotRepeatingChar(String str) {
        if(str==null||"".equals(str))
            return -1;
        Map<Character,Integer> map = new HashMap<Character,Integer>();
        Set<Character> keys = map.keySet();
        for(int i=0;i<str.length();i++){
            char c = str.charAt(i);
            if(keys.contains(c)){
                int value = map.get(c).intValue();
                value++;
                map.put(c, value);
            }else{
                map.put(c,1);
            }
        }
        for(int i=0;i<str.length();i++){
            char c = str.charAt(i);
            if(map.get(c).intValue()==1)
                return i;
        }
        return -1;
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java获取字符串中某个字符串第一次出现的位置(索引)

用Matcher和Pattern类会非常简单,这两个类是利用正则表达式匹配查找的相关类,详细可以参见java Pattern和Matcher详解...

java查找一个字符串2在字符串1中第一次出现的位置

两个字符串的操作

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

java获取某个子字符串在整个字符串中第N次出现时的下标索引

private int getFromIndex(String str,Integer count) { Matcher slashMatcher = Pattern.compile("test")...

Java 获取字符串中第N次出现的字符位置

public static int getCharacterPosition(String string){ //这里是获取"/"符号的位置 Matcher slashMatcher ...

华为OJ ---找出字符串中第一个只出现一次的字符(java实现)

题目描述:找出字符串中第一个只出现一次的字符详细描述:接口说明原型:bool FindChar(char* pInputString, char* pChar);输入参数:char* pInputSt...

s.indexOf(c)的用法,在字符串“s”中第一次出现字符“c”的位置。

public class StringTest{ protected StringTest(){ } public static void main ( String[] args ){ St...

字符串2在字符串1中第一次出现的位置strstr()

//字符串2在字符串1中第一次出现的位置 char *strstr(const char *str1, const char *str2) {     int i = 0; if (NULL ...
  • zgaoq
  • zgaoq
  • 2017年01月15日 19:29
  • 301

剑指offer----第一个只出现一次的字符位置----java实现

在一个字符串(1字符串长度,全部由字母组成)中找到第一个只出现一次的字符的位置。若为空串,返回-1。位置索引从0开始。 如果从头开始让每一个字符都与其后面的字符相比较,当第一个出现一次的字符,就结束...
  • snow_7
  • snow_7
  • 2016年07月07日 17:32
  • 849

java 查找字符串所在的位置

使用了 String 类的 indexOf() 方法在字符串中查找子字符串出现的位置,如过存在返回字符串出现的位置(第一位为0),如果不存在返回 -1。方便判断和截取字符串! 语法:stringOb...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 求解字符串中第一次出现的字符的位置
举报原因:
原因补充:

(最多只允许输入30个字)