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

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

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

可以用hashmap集合统计字符出现次数,输出出现一次的

import java.util.Scanner;
import java.util.Vector;

public class Main {
    //找出字符串中第一个只出现一次的字符
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            //统计字符出现的次数
            HashMap<Character, Integer> map = new HashMap<>();
            String s = sc.nextLine();
            boolean exist = false; //是否存在出现次数为1的字符
            for(char c: s.toCharArray()){
                map.put(c,map.getOrDefault(c, 0) + 1);
            }
            //遍历数组,找出第一个出现一次的
            for(char ch:s.toCharArray()){
                if(map.get(ch)==1){
                    System.out.println(ch);  //循环到map的value为1时,输出该字符
                    exist = true;
                    break;
                }
            }
            if(exist==false){ //不存在则输出-1
                System.out.println(-1);
            }
        }
    }
}

全部评论

相关推荐

像好涩一样好学:这公司我也拿过 基本明确周六加班 工资还凑活 另外下次镜头往上点儿
点赞 评论 收藏
分享
喜欢吃蛋糕仰泳鲈鱼是我的神:字节可以找个hr 给你挂了,再放池子捞
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务