zifuchuan

确定两串乱序同构

http://www.nowcoder.com/questionTerminal/164929d4acd04de5b0ee2d93047b3b20

C++
定义两个map 分别存储两个字符串每个字符出现的次数
遍历两个map 对于给定的字符key 如果 value不一样则不满足条件 false
都满足的话 true

class Same {
public:
    bool checkSam(string stringA, string stringB) {
        // write code here
        map<char, int> ma;
        map<char, int> mb;
        if(stringA.size() != stringB.size())
            return false;
        int i = 0;
        while(i < stringA.size()){
            ma[stringA[i]]++;
            mb[stringB[i]]++;
            i++;
        }
        for(auto it = ma.begin(); it != ma.end(); it++){
            if(it -> second != mb[it -> first])
                return false;
        }
        return true;
    }
};
全部评论
这个只比对了mapA中元素的数目是否等于mapB中对应元素的数目,如果B中有一个元素A没有,别的完全相同,会不会出错呢?
1 回复 分享
发布于 2021-05-17 10:30

相关推荐

3 收藏 评论
分享
牛客网
牛客企业服务