有效字母異位詞 leetcode 242.
題目大意:給定兩個字串判斷是否為異位詞字串
解題思路:使用一個map封裝,key為字母,value為出現的次數,另一個字串就是在這個map的基礎上修改value每次-1,最後遍歷該map的values看是否有不為0的值,如果有的話就直接返回false,最終返回true
class Solution {
public boolean isAnagram(String s, String t) {
int lens = s.length(),lent = t.length();
if (lens != lent) return false;
Map<Character, Integer> dic = new HashMap<>();
for (Character c : s.toCharArray()) {
dic.put(c, dic.getOrDefault(c, 0) + 1);
}
for (Character c : t.toCharArray()) {
dic.put(c, dic.getOrDefault(c, 0) - 1);
}
for (int val: dic.values()) {
if (val != 0)return false;
}
return true;
}
}
總結:hashMap需要用到value到陣列的時候可以使用valus()方法,其他的也沒啥,這種型別的題多做就可以會