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

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

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);
            }

        }

        }
    }
}
全部评论

相关推荐

Pandaileee:校友加油我现在也只有一个保底太难了
点赞 评论 收藏
分享
尊嘟假嘟点击就送:加v细说,问题很大
点赞 评论 收藏
分享
10-17 12:16
同济大学 Java
7182oat:快快放弃了然后发给我,然后让我也泡他七天最后再拒掉,狠狠羞辱他一把😋
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务