Skip to content

Commit 132e5d7

Browse files
committed
issue #17 242-done💯
1 parent f19fd8f commit 132e5d7

File tree

1 file changed

+54
-1
lines changed

1 file changed

+54
-1
lines changed
Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,68 @@
11
package leetcodeEasyLevel;
22

3+
import java.util.Arrays;
4+
import java.util.HashSet;
5+
import java.util.Set;
6+
37
public class _0242ValidAnagram {
48
public static boolean isAnagram(String s, String t) {
9+
//Anagram 애너그램 : 철자를 바꾼 어구
10+
11+
//sol1. Change to char array and check every char is the same
12+
//Runtime 2 ms Memory 39.5 MB
13+
/*
14+
char[] split_s = s.toCharArray();
15+
char[] split_t = t.toCharArray();
16+
Arrays.sort(split_s);
17+
Arrays.sort(split_t);
18+
19+
if(split_s.length != split_t.length) return false;
520
21+
for(int i=0; i<split_s.length; i++){
22+
if(split_s[i] != split_t[i]) {
23+
return false;
24+
}
25+
}
26+
return true;
27+
*/
28+
29+
//sol2 : Use Arrays.equals() instead of for loop
30+
//Runtime 2 ms Memory 39.7 MB
31+
/*
32+
if (s.length() != t.length()) {
33+
return false;
34+
}
35+
char[] str1 = s.toCharArray();
36+
char[] str2 = t.toCharArray();
37+
Arrays.sort(str1);
38+
Arrays.sort(str2);
39+
return Arrays.equals(str1, str2);
40+
*/
41+
42+
//sol3 : use number of char
43+
// Runtime 2 ms Memory 39.5 MB
44+
int arr[] = new int[26];
45+
for(char c : s.toCharArray()){
46+
arr[c-'a']++;
47+
}
48+
49+
for(char c : t.toCharArray()){
50+
if(arr[c-'a'] == 0){
51+
return false;
52+
}
53+
arr[c-'a']--;
54+
}
55+
56+
for(int i=0;i<26;i++){
57+
if(arr[i]>0)
58+
return false;
59+
}
660
return true;
761
}
862

963
public static void main(String[] args) {
1064
System.out.println(isAnagram("anagram","nagaram")); //=>true
1165
System.out.println(isAnagram("rat","car")); //=>false
12-
1366
}
1467

1568
}

0 commit comments

Comments
 (0)