LeetCode_383 赎金信(哈希表)

1、题目:

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 

LeetCode_383 赎金信(哈希表)_第1张图片

2、解题思路

非常类似与242题

LeetCode242 CSDN

3、代码

class Solution 
{
public:
    bool canConstruct(string ransomNote, string magazine) 
    {
        int record[26] = {0};
        for (int i = 0; i < magazine.length(); i++) 
        {
            // 通过recode数据记录 magazine里各个字符出现次数
            record[magazine[i]-'a'] ++;
        }
        for (int j = 0; j < ransomNote.length(); j++) 
        {
            // 遍历ransomNote,在record里对应的字符个数做--操作
            record[ransomNote[j]-'a']--;
            // 如果小于零说明ransomNote里出现的字符,magazine没有
            if(record[ransomNote[j]-'a'] < 0) 
            {
                return false;
            }
        }
        return true;
    }
};

你可能感兴趣的:(LeetCode,leetcode,算法,职场和发展)