赎金信
题目链接代码随想录 (programmercarl.com)
class Solution { public: bool canConstruct(string ransomNote, string magazine) { int record[26] = {0}; if (ransomNote.size() > magazine.size()) { return false; } for(char a : magazine){ record[a - 'a']++; //记录magazine出现的字符 } for(char a : ransomNote){ record[a - 'a']--; //记录ransomNote出现的字符 } for(int num : record){ if(num < 0){ return false; //此时如果数组中有元素小于零,说明有字符在ransomNote出现过但是在magazine没出现过 } } return true; } };
本题思路同上。作为一道同样需要快速查找字符的题,同样可以构造字符数组来进行查询。具体的思路和之前的异位字符串相类似。
标签:ransomNote,字符,return,记录,record,magazine,Day11,LeetCode,刷题 From: https://www.cnblogs.com/tianmaster/p/16878099.html