获取字符串中不重复的第一个字符

 

复制代码
public static char firstNonRepeatedCharacter(String str) {
        //获取字符串中不重复的第一个字符

        //第一步,用hashMap进行存放分割出来的字符串
        //key当做接收分割出来的字符串 value用来接受次数
        HashMap<Character, Integer> hashMap = new HashMap<Character, Integer>();
        //循环小于字符串的长度
        for (int i = 0; i < str.length(); i++) {
             //分科字符串中的第i个字符
                char c = str.charAt(i);
                if(c!=','||c!='.'||c!='?')
                hashMap.put(c, hashMap.containsKey(c)?hashMap.get(c) + 1:1);

        }
        // 进行循环查找
        for (int i = 0; i < str.length(); i++) {
            //切割
            char c = str.charAt(i);
            //如果这个字符的value等于1
            //返回这个字符
            if (hashMap.get(c) == 1) {
                return c;
            }
        }
        throw new RuntimeException("字符串中没有不重复的第一个字符");
    }
复制代码

 

posted @   韦邦杠  阅读(851)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示