从品牌网站建设到网络营销策划,从策略到执行的一站式服务
问题:
创新互联建站是一家专业提供扬中企业网站建设,专注与成都网站制作、成都做网站、外贸营销网站建设、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(); LinkedHashMapmap = 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实现查找第一个只出现一次的字符的详细内容,更多请关注创新互联其它相关文章!
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图