这篇“java如何找出字符串中的第一个唯一字符”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“java如何找出字符串中的第一个唯一字符”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们一起来看看具体内容吧。
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。
案例:
s = "leetcode"
返回 0.
s = "loveleetcode",
返回 2.
注意事项:您可以假定该字符串只包含小写字母。
赎金信
1public boolean canConstruct(String ransomNote, String magazine) {
2 int[] arr = new int[26];
3 for (int i = 0; i < magazine.length(); i++) {
4 arr[magazine.charAt(i) - 'a']++;
5 }
6 for (int i = 0; i < ransomNote.length(); i++) {
7 if (--arr[ransomNote.charAt(i) - 'a'] < 0) {
8 return false;
9 }
10 }
11 return true;
12}
解析:
代码很容易理解,再来看另一种解法
1public boolean canConstruct(String ransomNote, String magazine) {
2 Map<Character, Integer> magM = new HashMap<>();
3 for (char c : magazine.toCharArray()) {
4 magM.put(c, magM.getOrDefault(c, 0) + 1);
5 }
6 for (char c : ransomNote.toCharArray()) {
7 int newCount = magM.getOrDefault(c, 0) - 1;
8 if (newCount < 0)
9 return false;
10 magM.put(c, newCount);
11 }
12 return true;
13}
Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列:有序,可重复的;3、Set集合:不可重复;4、Map映射:无序,键唯一,值不唯一。
感谢您的阅读,希望您对“java如何找出字符串中的第一个唯一字符”这一关键问题有了一定的理解,具体使用情况还需要大家自己动手实验使用过才能领会,快去试试吧,如果想阅读更多相关知识点的文章,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。