题解 | #找出字符串中第一个只出现一次的字符#

找出字符串中第一个只出现一次的字符

http://www.nowcoder.com/practice/e896d0f82f1246a3aa7b232ce38029d4

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String s = in.next();
        boolean flag = false;
        Map<Character,Integer> lhm = new LinkedHashMap<>();
        //统计字符出现的次数,并按照顺序插入
        for(int i = 0; i<s.length(); i++){
            if(!lhm.containsKey(s.charAt(i))){
                lhm.put(s.charAt(i),1);
            }else{
                lhm.put(s.charAt(i),lhm.get(s.charAt(i))+1);
            }
        }
        //遍历哈希表,第一次出现value == 1则打印
        for(Map.Entry<Character,Integer> me : lhm.entrySet()){
            if(me.getValue() == 1){
                flag = true;
                System.out.print(me.getKey());
                break;
            }
        }
        //没有重复出现的字符打印-1
        if(!flag){
            System.out.print(-1);
        }
    }
}
全部评论

相关推荐

职场水母:为啥你们整简历都喜欢整一大堆没用的,是期待让hr觉得很多,自己很厉害吗
0offer是寒冬太冷还...
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务