• 周二. 4月 23rd, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

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

admin

11月 28, 2021

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

给定两个字符串 s1s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。

解题报告:

用一个整数数组映射26个字母,数组初始化为零,遍历字符串1,出现字母则计数加1,遍历字符串2,出现字母则计数减1,在遍历整数数组,判断数组的值是否为零。

class Solution {
public:
    bool CheckPermutation(string s1, string s2) {
        int cmp[26]={0};
        for (int i=0;i<s1.size();i++)
            cmp[s1[i]-'a']++;
        for (int i=0;i<s2.size();i++)
            cmp[s2[i]-'a']--;
        for (int i=0;i<26;i++)
            if (cmp[i]!=0) return false;
        return true;
    }
};

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注