//给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 // // // // 示例 1: // // //输入: s = "anagram", t = "nagaram" //输出: true // // // 示例 2: // // //输入: s = "rat", t = "car" //输出: false // // // // 提示: // // // 1 <= s.length, t.length <= 5 * 104 // s 和 t 仅包含小写字母 // // // // // 进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况? // Related Topics 哈希表 字符串 排序 // 👍 401 👎 0 import java.util.Arrays; //leetcode submit region begin(Prohibit modification and deletion) class Solution { public boolean isAnagram(String s, String t) { /* Arrays.sort(s); Arrays.sort(t); return (s==t); */ if(s.length() != t.length()){ return false; } char[] char1= s.toCharArray(); char[] char2= t.toCharArray(); Arrays.sort(char1); Arrays.sort(char2); return Arrays.equals(char1,char2); // return (char1== char2); 报错 //return char1.equals(char2); 报错 } }
//Arrays.equals(char1,char2); public static boolean equals(char[] a, char[] a2) { if (a==a2) return true; if (a==null || a2==null) return false; int length = a.length; if (a2.length != length) return false; for (int i=0; i<length; i++) if (a[i] != a2[i]) return false; return true; }
//char1.equals(char2)
public boolean equals(Object obj) { return (this == obj); }