题干分析:
本题介绍了一种异位构词游戏,具体为给定一个字符串,如果另外一个字符串只是将该给定字符串中的字符进行了位置的对换则返回true,如果另外一个字符串出现新的字符或者出现与给定字符串中有的字符个数不相同等情况就返回false。
解题分析:
由于要对两个字符串进行比较,但是只要对两个字符串中的字符个数以及各自字符串每种字符出现的个数进行比较,所以首先是利用toCharArray()方法将字符串转化为字符数组,然后应该有一个方法可以实现将字符串中的字符的类别以及对应字符在字符串中出现的频次进行统计,java中的Map接口刚好具有这种可以储存唯一的key和值的功能,所以首先确定使用Map来解决该题。然后是分别将两个字符串装入到两个不同的Map中,最后对这两个Map进行比较。
问题解决:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class Solution {
public booleanisAnagram(String s, String t) {
if(s.length()!=t.length())