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详解...
  • qq_18423547
  • qq_18423547
  • 2016年06月15日 18:46
  • 4890

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

public class StringTest{ protected StringTest(){ } public static void main ( String[] args ){ St...
  • longer__
  • longer__
  • 2015年05月20日 10:28
  • 2652

java实现--字符串中第一个单独出现的字符

需求:     给定一个由大写字母组成的字符串,返回第一个单独出现的字母 分析:     1、思路一     创建HashMap集合,遍历字符串,将各个字母及对应的角标存到集合中,再次遍历...
  • upupday19
  • upupday19
  • 2017年12月07日 10:32
  • 57

java如何读取字符串中的某一段字符串?

String 类有一个方法为substring(int beginIndex, int endIndex),它返回一个新字符串,它是此字符串从指定的 beginIndex 处开始,一直到索引 endI...
  • aloie
  • aloie
  • 2006年12月22日 18:32
  • 17686

java 寻找指定字符第一次出现的位置

  • 2010年06月18日 17:19
  • 59KB
  • 下载

JAVA字符串中取特定字符的位置

String,一但声明了就不能变了!而StringBuffer是可变的,String声明的空间是个池里,而StringBuffer只能在堆里声明。 int indexOf(int ch) 返回指定字...
  • cc20032706
  • cc20032706
  • 2014年04月16日 09:50
  • 6772

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

public static int getCharacterPosition(String string){ //这里是获取"/"符号的位置 Matcher slashMatcher ...
  • u013339223
  • u013339223
  • 2015年12月18日 15:17
  • 3264

得到一个字符串在另一个字符串中第一次出现的索引

/** * 返回model在target第一次出现的索引 * @param target * @param model * @return ...
  • pipi_7
  • pipi_7
  • 2016年11月02日 10:50
  • 502

java string 字符串替换

i、replace方法     该方法的作用是替换字符串中所有指定的字符,然后生成一个新的字符串。经过该方法调用以后,原来的字符串不发生改变。例如:     String ...
  • yiluoAK_47
  • yiluoAK_47
  • 2012年06月06日 09:33
  • 175380

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

两个字符串的操作
  • Lucifer_art
  • Lucifer_art
  • 2014年12月18日 22:50
  • 4821
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java 求解字符串中第一次出现的字符的位置
举报原因:
原因补充:

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