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

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

给定两个字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。
示例 1:

输入: s1 = "abc", s2 = "bca"
输出: true 

示例 2:

输入: s1 = "abc", s2 = "bad"
输出: false

说明:

0 <= len(s1) <= 100
0 <= len(s2) <= 100

代码如下:

class Solution {
    /**
     * @param String $s1
     * @param String $s2
     * @return Boolean
     */
    function CheckPermutation($s1, $s2) {
        if (strlen($s1) != strlen($s2)) {
            return False;
        }
        $s1Arr = array_count_values(str_split($s1));
        $s2Arr = array_count_values(str_split($s2));
        ksort($s1Arr);
        ksort($s2Arr);
        return count(array_diff_assoc($s1Arr, $s2Arr)) == 0 ? True : False;
    }
}

本文链接:https://itarvin.com/detail-205.aspx

登录或者注册以便发表评论

登录

注册