-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path242. Valid Anagram
More file actions
37 lines (27 loc) · 882 Bytes
/
242. Valid Anagram
File metadata and controls
37 lines (27 loc) · 882 Bytes
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
28
29
30
31
32
33
34
35
36
37
// Approach 1 Sorting TC O(n logn) sc - O(N)
class Solution {
public boolean isAnagram(String s, String t) {
if(s.length() != t.length())return false;
char[] sArr = s.toCharArray();
char[] tArr = t.toCharArray();
Arrays.sort(sArr);
Arrays.sort(tArr);
return Arrays.equals(sArr, tArr);
}
}
//Aproach 2 Hashmap TC O(N) SC O(N)
import java.util.*;
class Solution {
public boolean isAnagram(String s, String t) {
if (s.length() != t.length()) return false;
Map<Character, Integer> mp = new HashMap<>();
for (char c : s.toCharArray())
mp.put(c, mp.getOrDefault(c, 0) + 1);
for (char c : t.toCharArray())
mp.put(c, mp.getOrDefault(c, 0) - 1);
for (int val : mp.values())
if (val != 0) return false;
return true;
}
}
//Approach 3