程序员面试经典(2):判定是否互为字符重排

判定是否互为字符重排

    • 题目描述
    • 我的解题

题目描述

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

我的解题

即判断两个字符串包含的字母是否相同

class Solution {
public:
    bool CheckPermutation(string s1, string s2) {
        vectorrecord(26,0);
        for(auto s: s1)
        {
            record[s-'a']+=1;
        }
        for(auto s: s2)
        {
            if(record[s-'a'] ==0)return false;
            record[s-'a']-=1;
        }
        return true;
    }
};

执行用时 :4 ms, 在所有 C++ 提交中击败了68.64%的用户
内存消耗 :8.5 MB, 在所有 C++ 提交中击败了100.00%的用户

你可能感兴趣的:(C++,leetcode,算法)