网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

java怎么获取字符串中只出现一次的字符

问题:

创新互联建站是一家专业提供扬中企业网站建设,专注与成都网站制作、成都做网站、外贸营销网站建设H5开发、小程序制作等业务。10年已为扬中众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

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

解决思路:

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

代码如下:

import java.util.LinkedHashMap;
public class Solution {
    public int FirstNotRepeatingChar(String str) {
        int len = str.length();
        LinkedHashMap 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怎么获取字符串中只出现一次的字符
URL地址:http://bjjierui.cn/article/gjsgcj.html

其他资讯