Lc242_IsAnagram
1public class IsAnagram {
2
3 /**
4 * 242. 有效的字母异位词
5 * 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
6 * <p>
7 * 示例 1:
8 * <p>
9 * 输入: s = "anagram", t = "nagaram"
10 * 输出: true
11 * 示例 2:
12 * <p>
13 * 输入: s = "rat", t = "car"
14 * 输出: false
15 * 说明:
16 * 你可以假设字符串只包含小写字母。
17 * <p>
18 * 进阶:
19 * 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
20 *
21 * @param s
22 * @param t
23 * @return
24 */
25 public static boolean isAnagram(String s, String t) {
26 /**
27 * 用一个数组记录s出现的位置和次数
28 * 在用这个数组建议t出现的位置和次数
29 *如果最后记录的数组有一个位置不为0 则证明不包含
30 */
31 int record[] = new int[26];
32 for (int i = 0 ; i<s.length();i++){
33 record[s.charAt(i)-'a']++;
34 }
35
36 for (int i = 0 ; i<t.length();i++){
37 record[t.charAt(i)-'a']--;
38 }
39
40 for(int i = 0; i< record.length;i++){
41 if(record[i]!=0){
42 return false;
43 }
44 }
45 return true;
46
47 }
48
49 public static void main(String[] args) {
50
51 String s = "anagram", t = "nagaram";
52 System.out.println(isAnagram(s,t));
53 }
54}
不恋尘世浮华,不写红尘纷扰