leetcode 242.有效的字母异位词
程序员文章站
2022-07-01 17:10:35
...
原题如下:
方法一
/*
*作者@v7fgg
*执行用时 :19 ms, 在所有 Java 提交中击败了16.38%的用户
*内存消耗 :40.6 MB, 在所有 Java 提交中击败了5.66%的用户
*2020年6月2日 22:39
*/
class Solution {
public boolean isAnagram(String s, String t) {
Map<Character,Integer> ms=new HashMap<>();
Map<Character,Integer> mt=new HashMap<>();
int ls=s.length();
int lt=t.length();
if(ls!=lt){return false;}
for(int i=0;i<ls;i++){
ms.put(s.charAt(i),ms.getOrDefault(s.charAt(i),0)+1);
}
for(int j=0;j<lt;j++){
mt.put(t.charAt(j),mt.getOrDefault(t.charAt(j),0)+1);
}
return ms.equals(mt);
}
}
/*
*作者@v7fgg
*执行用时 :18 ms, 在所有 Java 提交中击败了18.23%的用户
*内存消耗 :41 MB, 在所有 Java 提交中击败了5.66%的用户
*2020年6月2日 22:50
*/
class Solution {
public boolean isAnagram(String s, String t) {
Map<Character,Integer> ms=new HashMap<>();
Map<Character,Integer> mt=new HashMap<>();
int ls=s.length();
int lt=t.length();
if(ls!=lt){return false;}
for(int i=0;i<ls;i++){
ms.put(s.charAt(i),ms.getOrDefault(s.charAt(i),0)+1);
}
for(int j=0;j<lt;j++){
mt.put(t.charAt(j),mt.getOrDefault(t.charAt(j),0)+1);
}
for(char c:ms.keySet()){
if(mt.containsKey(c)){
if(!(ms.get(c).equals(mt.get(c)))){
//不能用==来判断
return false;
}
}
else{
return false;
}
}return true;
}
}