当前位置:   article > 正文

LeetCode383 —赎金信

LeetCode383 —赎金信

LeetCode383

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。

如果可以,返回 true ;否则返回 false 。

magazine 中的每个字符只能在 ransomNote 中使用一次。

示例 1:

输入:ransomNote = “a”, magazine = “b” 输出:false 示例 2:

输入:ransomNote = “aa”, magazine = “ab” 输出:false 示例 3:

输入:ransomNote = “aa”, magazine = “aab” 输出:true

提示:

1 <= ransomNote.length, magazine.length <= 105 ransomNote 和 magazine
由小写英文字母组成


思路一 暴力循环

思路二 哈希数组

  1. 用一个长度为26的数组来记录magazine里字母出现的次数
  2. 再用ransomNote去验证这个数组是否包含了ransomNote所需要的字母
class Solution {
    public boolean canConstruct(String ransomNote, String magazine) {
       if(ransomNote.length() > magazine.length()){
        return false;
       }

       //定义一个大小为26的数组用于记录每个字母出现的次数
       int [] cnt = new int[26];
       //toCharArray() 是一个字符串方法,用于将字符串转换为字符数组。
       //增强for循环无需显式地访问索引来获取每个元素,而是直接通过遍历对象中的元素来进行迭代
       for(char c : magazine.toCharArray()){
        cnt[c - 'a']++;
       }

       for(char c : ransomNote.toCharArray()){
        cnt[c - 'a']--;
        if(cnt[c - 'a'] < 0){
            return false;
        }
       }
       return true;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

toCharArray() 是一个字符串方法,用于将字符串转换为字符数组。

在Java中,toCharArray() 方法是定义在字符串(String)类中的一个方法。它将调用该方法的字符串转换为一个新的字符数组。该方法没有参数,返回类型为 char[]。

以下是一个示例代码:

String str = "Hello";
char[] charArray = str.toCharArray();
  • 1
  • 2

在上述示例中,我们首先创建了一个字符串 str,其值为 “Hello”。然后,我们调用 toCharArray() 方法将字符串转换为字符数组,并将结果存储在 charArray 变量中。此时,charArray 将包含字符 ‘H’、‘e’、‘l’、‘l’ 和 ‘o’。

toCharArray() 方法通常用于需要对字符串进行字符级别操作的情况。
通过将字符串转换为字符数组,我们可以对每个字符进行遍历、修改或其他操作,从而实现更灵活的字符串处理。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/232629
推荐阅读
相关标签
  

闽ICP备14008679号