java如何从字符串中找出第一个不重复的字符

java如何从字符串中找出第一个不重复的字符

这篇文章将为大家详细讲解有关java如何从字符串中找出第一个不重复的字符,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

如何从字符串中找出第一个不重复的字符?

java如何从字符串中找出第一个不重复的字符

比如说字符串“沉默王沉沉默二”,第一个不重复的字符是“王”,对吧?因为“沉”重复了,“默”重复了。

publicclassFindNonRepeatingChar{publicstaticvoidmain(String[]args){System.out.println(printFirstNonRepeatingChar("沉默王沉沉默二"));System.out.println(printFirstNonRepeatingChar("沉默王沉"));System.out.println(printFirstNonRepeatingChar("沉沉沉"));}privatestaticCharacterprintFirstNonRepeatingChar(Stringstring){char[]chars=string.toCharArray();List<Character>discardedChars=newArrayList<>();for(inti=0;i<chars.length;i++){charc=chars[i];if(discardedChars.contains(c))continue;for(intj=i+1;j<chars.length;j++){if(c==chars[j]){discardedChars.add(c);break;}elseif(j==chars.length-1){returnc;}}}returnnull;}}

输出结果如下所示:

王默null

说一下我的思路:

1)把字符串拆分成字符数组。

2)声明一个 List,把重复的字符放进去。

3)外层的 for 循环,从第一个字符开始,如果已经在 List 中,继续下一轮。

4)嵌套的 for 循环,从第一个字符的下一个字符(j = i + 1)开始遍历,如果找到和之前字符重复的,就加入到 List 中,跳出内层的循环;如果找到最后(j == chars.length - 1)也没有找到,就是第一个不重复的字符,对吧?

关于“java如何从字符串中找出第一个不重复的字符”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

发布于 2022-03-17 21:18:56
收藏
分享
海报
0 条评论
30
上一篇:java如何实现字符串的深度拷贝 下一篇:java如何在不用第三个变量的情况下交换两个字符串
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码