LeetCode242详细分析并附求解代码

这篇博客详细分析了LeetCode第242题,涉及异位构词的概念。博主通过Java实现了解决方案,利用HashMap统计字符串中每个字符的出现次数,然后比较两个字符串的字符分布是否相同。博客提到了代码优化点,包括字符串长度比较、Map的equals方法等。
摘要由CSDN通过智能技术生成


题干分析:

    本题介绍了一种异位构词游戏,具体为给定一个字符串,如果另外一个字符串只是将该给定字符串中的字符进行了位置的对换则返回true,如果另外一个字符串出现新的字符或者出现与给定字符串中有的字符个数不相同等情况就返回false。

解题分析:

    由于要对两个字符串进行比较,但是只要对两个字符串中的字符个数以及各自字符串每种字符出现的个数进行比较,所以首先是利用toCharArray()方法将字符串转化为字符数组,然后应该有一个方法可以实现将字符串中的字符的类别以及对应字符在字符串中出现的频次进行统计,java中的Map接口刚好具有这种可以储存唯一的key和值的功能,所以首先确定使用Map来解决该题。然后是分别将两个字符串装入到两个不同的Map中,最后对这两个Map进行比较。

问题解决:

    import java.util.HashMap;

    import java.util.Iterator;

    import java.util.Map;

    import java.util.Map.Entry;

    import java.util.Set;

    public class Solution {

        public booleanisAnagram(String s, String t) {

          if(s.length()!=t.length())

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值