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

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

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

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()){
            String str = sc.next();
            char[] arr = str.toCharArray();
            HashMap<Character, Integer> map = new HashMap<>();
            // hashmap记录
            for (int i = 0; i < str.length(); i++) {
                map.put(str.charAt(i),map.getOrDefault(str.charAt(i),0)+1);
            }
        // 遍历,根据数组来,数组元素是有明确顺序的
        for (int i = 0; i < arr.length; i++) {
            if(map.get(arr[i])==1){  // 如果找到值为1
                System.out.println(arr[i]);
                break; // 只用输出一个即可
            // 假如元素的value >1且是最后一个元素,则说明不存在
            }else if(map.get(arr[i]) > 1 && (i==arr.length-1)){
                System.out.println(-1);
            }

        }

        }
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-09 12:30
点赞 评论 收藏
分享
06-26 22:20
门头沟学院 Java
码农索隆:让你把简历发给她,她说一些套话,然后让你加一个人,说这个人给你改简历,然后开始卖课
我的求职精神状态
点赞 评论 收藏
分享
06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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