题目内容
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.
Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?
题目分析
1,比较朴素的做法是做一个256的数组,将每个字符串中的字符的码值对应到相应的数组中,不断的累加。然后比较两个数组是否相等。
2,对字符串进行排序,然后比较两个字符串即可(这个方法有点儿优秀),对字符排序的方法还有,leetcode 169. Majority Element,这个是找数组的主要元素。
public class Solution {
public boolean isAnagram(String s, String t) {
char[] sArr=s.toCharArray();//转换成字符数组
char[] tArr=t.toCharArray();
Arrays.sort(sArr);//排序
Arrays.sort(tArr);
return String.valueOf(sArr).equals(String.valueOf(tArr));
}
}