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

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

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

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.next();
        Map<Character,Integer> map = new LinkedHashMap<>();//必须用LinkedHashMap保证元素进入map顺序
        char []chs = str.toCharArray();
        //记录每种字符的个数
        for(int i =0;i<chs.length;i++){
            if(map.containsKey(chs[i])){
                map.put(chs[i],map.get(chs[i])+1);
            }else{
                map.put(chs[i],1);
            }
        }
        //设置一个计数器
        int count=0;
        //找到第一个个数为1的字符
        for(char ch:map.keySet()){
            if(map.get(ch)==1){
                System.out.print(ch);
                count++;
                break;//找到后直接跳出循环
            }
        }
        if(count == 0){
            System.out.print(-1);
        }
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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