旗下导航:搜·么
当前位置:网站首页 > JAVA教程 > 正文

java完成查找第一个只涌现一次的字符【JAVA教程】,java,第一次,一次,字符

作者:搜教程发布时间:2019-11-30分类:JAVA教程浏览:81评论:0


导读:问题:在一个字符串(0<=字符串长度<=10000,悉数由字母构成)中找到第一个只涌现一次的字符,并返回它的位置,假如没有则返回-1(须要辨别大小写)相...

问题:

在一个字符串(0<=字符串长度<=10000,悉数由字母构成)中找到第一个只涌现一次的字符,并返回它的位置, 假如没有则返回 -1(须要辨别大小写)

相干视频教程引荐:java在线教程

处理思绪:

题目请求很明白,就是遍历字符串,而且给字符计数,计数以后,找到计数为1的字符即可。很明显这须要用到hashmap,key就是字符串中的各个字符,而value就是这个字符在字符串中涌现的次数。

代码以下:

import java.util.LinkedHashMap;
public class Solution {
    public int FirstNotRepeatingChar(String str) {
        int len = str.length();
        LinkedHashMap<Character, Integer> map = new LinkedHashMap<>();
        for (int i = 0; i < len; i++) {
            char c = str.charAt(i);
            Integer val = map.get(c);
            map.merge(c, 1, (oldValue, newValue) -> oldValue + newValue);
        }
        Character resultKey = null;
        for (Character c : map.keySet()){
            if (map.get(c) == 1){
                resultKey = c;
                break;
            }
        }
        for (int i = 0 ;i < len; i++){
            if (str.charAt(i) == resultKey){
                return i;
            }
        }        
       return -1;
    }
}

相干文章教程引荐:java疾速入门

以上就是java完成查找第一个只涌现一次的字符的细致内容,更多请关注ki4网别的相干文章!

标签:java第一次一次字符


欢迎 发表评论: