面试题 01.02. 判定是否互为字符重排

面试题 01.02. 判定是否互为字符重排 #

题目 #

  • 给定两个由小写字母组成的字符串s1s2
  • 判断其中一个字符串的字符经重排后能否变成另一个字符串。

思路 #

哈希 #

代码 #

哈希 #

class Solution {
    public boolean CheckPermutation(String s1, String s2) {
        if (s1.length() != s2.length()) return false;
        char[] charArray1 = new char[26], charArray2 = new char[26];
        for (int i = 0; i < s1.length(); i++) {
            charArray1[s1.charAt(i) - 'a'] += 1;
            charArray2[s2.charAt(i) - 'a'] += 1;
        }
        for (int i = 0; i < charArray1.length; i++) {
            if (charArray1[i] != charArray2[i]) return false;
        }
        return true;
    }
}

致谢 #

宫水三叶