leetcode25(有效的字母异位词)
给定两个字符串 s
和 t
,编写一个函数来判断 t
是否是 s
的 字母异位词。
示例 1:
输入: s = "anagram", t = "nagaram" 输出: true
思路1:
键值对保存出现的字母及次数
对下一个字母遍历,每次-1,如果存在最终不为0的value值,则false,符合则true
思路2:
将字符串转化为字符数组,对其排序,看两者是否相同
同时,长度不等,直接返回false
思路1代码:
class Solution {public boolean isAnagram(String s, String t) {if (s.length() != t.length()) return false;HashMap<Character, Integer> map = new HashMap<>();for (char c : s.toCharArray()) {map.put(c, map.getOrDefault(c, 0) + 1);}for (char c : t.toCharArray()) {map.put(c, map.getOrDefault(c, 0) - 1);}for (Map.Entry<Character, Integer> entry : map.entrySet()) {if (entry.getValue() != 0) {return false;}}return true;}
}