题目来源:
力扣https://leetcode.cn/problems/ransom-note/题目简介:
判断字符串a中的字母能不能构成字符串b,能的话就返回true,不能就返回false,字符串a里的字母每个都只能用一次,不能重复使用
思路:
先判断a字符串的长度和b的字符串长度,如果a的长度大于b再进行下一步判断,接着就是统计啊字符串中各个字符出现的次数,以及b字符串
代码实现:
bool canConstruct(char * ransomNote, char * magazine){
int r=strlen(ransomNote);
int m=strlen(magazine);
if(r>m)
return false;
int ans[26]={0};
for(int i=0;i ans[ransomNote[i]-'a']++; ans[magazine[i]-'a']--; } if(r for(int i=r; i ans[magazine[i]-'a']--; } } for(int i=0;i <26;i++){ if(ans[i]>0) return false; } return true; }