0%

LeetCode-242

题目

Snipaste_2020-11-22_12-53-45.png

结果

Snipaste_2020-11-22_12-55-10.png

代码

快排后逐一比较

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public boolean isAnagram(String s, String t) {
var ch1 = s.toCharArray();
var ch2 = t.toCharArray();
Arrays.sort(ch1);
Arrays.sort(ch2);
return arrayEqual(ch1, ch2);
}

private boolean arrayEqual(char[] s1, char[] s2) {
if (s1.length != s2.length) {
return false;
}
for (int i = 0; i < s2.length; i++) {
if(s1[i]!=s2[i]){
return false;
}
}
return true;
}
}

Map

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
class Solution {
public boolean isAnagram(String s, String t) {
if (s.length() != t.length()) {
return false;
}
Map<Character, Integer> sMap = new HashMap<>();
Map<Character, Integer> tMap = new HashMap<>();
for (int i = 0; i < s.length(); i++) {
if (sMap.containsKey(s.charAt(i))) {
sMap.put(s.charAt(i), sMap.get(s.charAt(i)) + 1);
} else {
sMap.put(s.charAt(i), 1);
}
if (tMap.containsKey(t.charAt(i))) {
tMap.put(t.charAt(i), tMap.get(t.charAt(i)) + 1);
} else {
tMap.put(t.charAt(i), 1);
}
}
for (Character key : sMap.keySet()) {
if (!sMap.get(key).equals(tMap.get(key))) {
return false;
}
}
return true;
}
}

复杂度

时间复杂度:O(nlogn),第一种方法

空间复杂度:O(n),第一种方法