题目:
Given two strings s and t, write a function to determine if t is an anagram of s.
For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.
Note:
You may assume the string contains only lowercase alphabets.
题解:
用一个哈希表记录其中一个字符串的每一个字符及出现的次数。用另一个字符串的字符当作key获取value判断是否存在。
public static boolean isAnagram(String s, String t) { if(s.length()!=t.length()) return false; char[] array=s.toCharArray(); HashMap<Character, Integer> hashMap=new HashMap<>(); for(int i=0;i<array.length;i++) { if(hashMap.get(array[i])==null) { hashMap.put(array[i], 1); } else { int temp=hashMap.get(array[i]); hashMap.put(array[i], temp+1); } } for(int k=0;k<s.length();k++) { char stemp=t.charAt(k); if(hashMap.get(stemp)!=null) { int value=hashMap.get(stemp); if(value>=1) { hashMap.put(stemp, value-1); } else { return false; } } else { return false; } } return true; } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-12 23:31:16