242. 有效的字母异位词(简单)

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。

示例 1:

输入: s = “anagram”, t = “nagaram”
输出: true

示例 2:

输入: s = “rat”, t = “car”
输出: false
说明:
你可以假设字符串只包含小写字母。

进阶:

如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-anagram

思路:

map的思路,用一个数组来实现,下表为key,值为value,循环两个字符串,一个+一个-,这样循环结束时如果数组中有为止出现的数的值为0,则代表匹配成功

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class Solution {
public boolean isAnagram(String s, String t) {
if(s.length()!=t.length())
return false;
int[] abc = new int[26];//接收26个字母
for(int i=0;i<s.length();i++){
abc[s.charAt(i)-'a']++;
abc[t.charAt(i)-'a']--;
}
//对数组进行扫描,如果有值不为0的,返回false
for(int a:abc)
if(a!=0)
return false;
return true;
}
}