讨论/《初级算法》 - 有效的字母异位词/
《初级算法》 - 有效的字母异位词

Java

class Solution {
    public boolean isAnagram(String s, String t) {
        if (s.length() != t.length()) return false;
        char[] charS = s.toCharArray();
        char[] charT = t.toCharArray();
        int resultXor = 0;
        for (int i = 0; i < charS.length; i++) {
            resultXor ^= (charS[i] - 'a') ^ (charT[i] - 'a');
        }
        int resultSumS = 1;
        int resultSumT = 1;
        for (int j = 0; j < charS.length; j++) {
            resultSumS *= (charS[j] - 'a' + 1);
            resultSumT *= (charT[j] - 'a' + 1);
        }
        return resultXor == 0 && resultSumS == resultSumT;
    }
}
展开全部 41 讨论