java找到第一次重复出现的字符,找出第一个只出现一次的字符
问题:
查找在一个字符串中只出现一次的第一个字符(0=字符串长度=10000,全部由字母组成)并返回其位置,否则返回-1(需要区分大小写)
相关视频教程推荐:java在线教程
解决方案:
题目很明确,就是遍历字符串,统计字符。计数后,找出计数为1的字符。显然,这需要使用hashmap。key是字符串中的每个字符,value是该字符在字符串中出现的次数。
代码如下:
导入Java . util . linked hashmap;
公共类解决方案{
public int first notrepeating char(String str){
int len=str . length();
LinkedHashMapCharacter,Integer map=new linked hashmap();
for(int I=0;我leni ) {
char c=str . charat(I);
integer val=map . get(c);
map.merge(c,1,(旧值,新值)-旧值新值);
}
字符resultKey=null
for (Character c : map.keySet()){
if (map.get(c)==1){
result key=c;
打破;
}
}
for(int I=0;我leni ){
if (str.charAt(i)==resultKey){
返回I;
}
}
return-1;
}
}相关文章教程推荐:java快速入门。以上是java实现寻找第一个只出现一次的字符的细节。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。