public boolean canConstruct(String ransomNote, String magazine) { if (ransomNote.length() > magazine.length()) return false; int[] ans = new int[26]; for (char c : magazine.toCharArray()) { ans[c - 'a']++; } for (char c : ransomNote.toCharArray()) { ans[c - 'a']--; if (ans[c - 'a'] < 0) { return false; } } return true; }
时间: 2023-04-01 09:01:02 浏览: 112
这是一个关于字符串构建的问题,代码中使用了一个 int 数组来记录 magazine 中每个字符出现的次数,然后遍历 ransomNote 中的字符,每次将对应字符在数组中的计数器减一,如果计数器小于零,则说明 magazine 中没有足够的字符来构建 ransomNote,返回 false,否则返回 true。
阅读全文