您好,登錄后才能下訂單哦!
這篇“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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。