题目描述
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram"
输出: true
示例 2:
输入: s = "rat", t = "car"
输出: false
说明:
你可以假设字符串只包含小写字母。进阶:
如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?
我的解法
思路
只要分别统计两个字符串中每个元素的个数是否相等就可以,那么就变成了每个字母的个数怎么存储的问题,可以定义一个长度为26的数组,遍历第一个数组时在对应位置+1,在遍历第二个数组是在对应位置-1.如果最后数组中所有元素均为0,怎为true,否则为false
对应Java代码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lnhHEVOz-1615520815100)(en-resource://database/1706:1)]
class Solution {
public boolean isAnagram(String s, String t) {
int[] numArr = new int[26];
for (int i = 0; i < s.length(); i++) {
numArr[s.charAt(i)