描述
比较两个字符串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;
网友评论