题目描述
题目地址:https://leetcode-cn.com/problems/valid-anagram
给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。
示例 1:
输入: s = “anagram”, t = “nagaram”
输出: true
示例 2:
输入: s = “rat”, t = “car”
输出: false
说明:
你可以假设字符串只包含小写字母。
题目思路
有效的字母异位词:如果两个单词字符串包含相同的字符及对应数量,只是字符顺序不同,则这两个单词就是有效的字母异位词
统计字符串中每个字母出现的次数并存放在一个数组中,数组内各元素初始值为0,统计S字符串时出现一次+1,统计T字符串时出现一次-1,如此便可用一个数组对两个字符串进行统计,最后数组内均为0则返回True,否则返回False
解法(JAVA)
class Solution {
public boolean isAnagram(String s, String t) {
int[] record = new int[26];
for (char c : s.toCharArray()) {
record[c - 'a'] += 1;
}
for (char c : t.toCharArray()) {
record[c - 'a'] -= 1;
}
for (int i : record) {
if (i != 0) {
return false;
}
}
return true;
}
}