0
点赞
收藏
分享

微信扫一扫

Leetcode 383.赎金信(哈希) 记录反思

在这里插入图片描述

    public boolean canConstruct(String ransomNote, String magazine) {
        int[] hash = new int[26];
        char[] rr = ransomNote.toCharArray();
        char[] mm = magazine.toCharArray();

        for(int i = 0; i <= mm.length -1 ;i++){
            hash[mm[i] - 'a']++;
        }
        for(int i =0; i<=rr.length -1;i++){
            hash[rr[i] - 'a']--;
        }
        for(int i = 0;i< 26;i++){
            if(hash[i] < 0)
                return false;
        }
        return true;
    }

这题和 242题的答案的差距基本只有一个符号
先对magazine数组中的每个值变量,然后对应位置在hash数组中加1
然后对ransomNote数组遍历 ,然后对应位置在hash数组中减1
如果ransomNote中出现了magazine没有出现的值,那么hash数组中就会有负数

就这样

举报

相关推荐

0 条评论