-
Notifications
You must be signed in to change notification settings - Fork 53
Expand file tree
/
Copy pathLeetCode_242_35.java
More file actions
73 lines (61 loc) · 1.89 KB
/
LeetCode_242_35.java
File metadata and controls
73 lines (61 loc) · 1.89 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package com.leecode.week02;
import java.util.Arrays;
/**
* 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
* 输入: s = "anagram", t = "nagaram"
* 输出: true
*/
public class LeetCode_242_35 {
public static void main(String[] args) {
LeetCode_242_35 lc=new LeetCode_242_35();
System.out.println(lc.isAnagram("anagram","nagaram"));
System.out.println(lc.isAnagram("rat","art"));
System.out.println(lc.isAnagram("rat"," car"));
//Arrays.equals("anagram".toCharArray(),"nagaram".toCharArray());
}
public boolean isAnagram(String s, String t)
{
if(s==null||t==null||s.length()!=t.length()){
return false;
}
int[] sArr=new int[128];
int[] tArr=new int[128];
char[] sChs=s.toCharArray();
char[] tChs=t.toCharArray();
for(int i=0;i<sChs.length;i++){
sArr[sChs[i]]++;
tArr[tChs[i]]++;
}
return Arrays.equals(sArr,tArr);
}
public boolean isAnagram_v0(String s, String t) {
if(s.length()!=t.length()){
return false;
}
char[] bys= s.toCharArray();
Arrays.sort(bys);
char[] byt= t.toCharArray();
Arrays.sort(byt);
int i = 0;
int n = byt.length;
while (n-- != 0) {
if (bys[i] != byt[i])
return false;
i++;
}
return true;
}
/**
*大神的做法
*
* public boolean isAnagram(String s, String t) {
* if(s == null || t == null || s.length() != t.length()) return false;
* int[]one = new int[128];
* int[]two = new int[128];
* for(char c: s.toCharArray()) one[c]++;
* for(char c: t.toCharArray()) two[c]++;
*
* return Arrays.equals(one,two);
* }
*/
}