题目:
给定两个字符串 s
和 t
,编写一个函数来判断 t
是否是 s
的字母异位词。
注意:若 s
和 t
中每个字符出现的次数都相同,则称 s
和 t
互为字母异位词。
思路:hash表,可以用int数组代替
代码:
class Solution {public boolean isAnagram(String s, String t) {if (s.length() != t.length())return false;int[] arr = new int[26];for (int i = 0; i < s.length(); i++) {char s1 = s.charAt(i);arr[s1 - 'a']++;char t1 = t.charAt(i);arr[t1 - 'a']--;}for (int i = 0; i < 26; i++) {if (arr[i] != 0)return false;}return true;}
}
性能:时间复杂度O(s) 空间复杂度O(26)= O(1)