55. 比较字符串

2018-10-19  本文已影响0人  小时候浪死了

描述

比较两个字符串A和B,确定A中是否包含B中所有的字符。字符串A和B中的字符都是 大写字母

在 A 中出现的 B 字符串里的字符不需要连续或者有序。
您在真实的面试中是否遇到过这个题?
样例

给出 A = "ABCD" B = "ACD",返回 true

给出 A = "ABCD" B = "AABC", 返回 false

解1:暴力法

int sizeA=A.length(),sizeB=B.length();
        int count=0;
        for(int i=0;i<sizeB;i++)
            for(int j=0;j<sizeA;j++)
            {
                if(A[j]==B[i])
                {
                    count++;
                    A[j]=0;
                    break;
                }
            }
        if(count==sizeB)
            return true;
        else
            return false;

解2:

 map<char,int> check;
        for(auto e:A)
            ++check[e];
        for(auto e:B)
        {
            if(--check[e]<0)
                return false;
        }
        return true;
上一篇下一篇

猜你喜欢

热点阅读