LeetCode242. 有效的字母异位词
一、题目描述
二、解法
class Solution { public boolean isAnagram(String s, String t) { if (s.length() != t.length()) return false; int[] dict = new int[26]; /** * 写法1 */ for (char c : s.toCharArray()) { dict[c - 'a'] ++; } for (char c : t.toCharArray()) { dict[c - 'a'] --; // 如果出现小于0的情况,则说明t包含一个不在s中的额外字符 // 原因是两个串长度相等,有频次大于0的情况必存在频次小于0的元素 if (dict[c - 'a'] < 0) { return false; } } return true; /** * 写法2 */ /*for (int i = 0; i < s.length(); i++) { dict[s.charAt(i) - 'a'] ++; dict[t.charAt(i) - 'a'] --; } for (int count : dict) { if (count != 0) { return false; } } return true;*/ } }