字母異位詞:字母個數相同,每個字母出現的次數相同。這個題可以當作hash的入門吧,解法很多種,熱熱身罷了,思路也很簡單,將字母映射到數組中即可
題目如下(來自力扣)
給定兩個字符串 s 和 t ,編寫一個函數來判斷 t 是否是 s 的字母異位詞。
注意:若 s 和 t 中每個字符出現的次數都相同,則稱 s 和 t 互為字母異位詞。
示例 1:
輸入: s = "anagram", t = "nagaram"
輸出: true
示例 2:
輸入: s = "rat", t = "car"
輸出: false
提示:
1 <= s.length, t.length <= 5 * 104
s 和 t 僅包含小寫字母
題解:
class Solution { public boolean isAnagram(String s, String t) { int[] a = new int[128]; int[] b = new int[128]; for(char c:s.toCharArray()){ a[c]++; } for(char c:t.toCharArray()){ b[c]++; } for(int i = 0 ;i < 128;i++) { if(a[i]!=0||b[i]!=0) { if(a[i]!=b[i]) return false; } } return true; } }
最近事情多,算法寫的比較少,學校也是補課不放假還封校,當菜鳥的第五天2022-03-31
浙公網安備 33010602011771號