leetcode242.有效的字母异位词

题目链接

思路一:sort

对于本题,最简单暴力的方法就是将两个字符串排序之后依次进行比对,代码如下:

class Solution {
    public boolean isAnagram(String s, String t) {
        if(s.length() != t.length()){
            return false;
        }
        char[] chs1 = s.toCharArray();
        char[] chs2 = t.toCharArray();

        Arrays.sort(chs1);
        Arrays.sort(chs2);

        for(int i = 0;i < chs1.length;i++){
            if(chs1[i] != chs2[i]){
                return false;
            }
        }
        return true;
    }
}

排序的时间复杂度为O(nlogn),所以本题的时间复杂度即为O(nlogn),因为额外开辟了数组空间,所以额外空间复杂度为O(n)。
代码运行结果:


思路二:Hash

利用哈希思想进行求解,代码如下:

class Solution {
    public boolean isAnagram(String s, String t) {
        if(s.length() != t.length()){
            return false;
        }

        int[] map = new int[26];

        for(int i = 0;i < s.length();i++){
            map[s.charAt(i) - 'a']++;
            map[t.charAt(i) - 'a']--;
        }

        for(int i = 0;i < map.length;i++){
            if(map[i] != 0){
                return false;
            }
        }
        return true;
    }
}

使用哈希表的思想,使用长度为26的数组模拟HashMap,key表示26个小写字母,value则表示每个字母出现的次数,第一次遍历将字符串s对应的每个字符的个数做加法,将字符串t对应的每个字符做减法,然后遍历一次map,判断每个key对应的value是否为0即可,时间复杂度为O(n),额外空间复杂度为O(1),因为无论字符串有多长,我们每次只需要开辟26个长度的数组空间即可,这个值是固定的。
执行结果如下:


也不知道为什么耗费的时间更多了~(逃

全部评论

相关推荐

泥给路哒油:真的不行了,以后趋势就是没有前后端职位之分了,我现在就是什么都干,有了ai就能干全栈,md年初目送一大堆同事毕业
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
正在热议
更多
# 春招至今,你的战绩如何? #
8359次浏览 76人参与
# 你的实习产出是真实的还是包装的? #
1545次浏览 39人参与
# 巨人网络春招 #
11281次浏览 223人参与
# 军工所铁饭碗 vs 互联网高薪资,你会选谁 #
7300次浏览 40人参与
# 简历第一个项目做什么 #
31444次浏览 320人参与
# 当下环境,你会继续卷互联网,还是看其他行业机会 #
186719次浏览 1118人参与
# MiniMax求职进展汇总 #
23601次浏览 305人参与
# 不考虑薪资和职业,你最想做什么工作呢? #
152201次浏览 887人参与
# 研究所笔面经互助 #
118827次浏览 577人参与
# 重来一次,我还会选择这个专业吗 #
433235次浏览 3926人参与
# 简历中的项目经历要怎么写? #
309862次浏览 4177人参与
# 面试紧张时你会有什么表现? #
30460次浏览 188人参与
# 你今年的平均薪资是多少? #
212910次浏览 1039人参与
# AI时代,哪些岗位最容易被淘汰 #
63173次浏览 784人参与
# 我的求职精神状态 #
447925次浏览 3128人参与
# 你最满意的offer薪资是哪家公司? #
76352次浏览 374人参与
# 正在春招的你,也参与了去年秋招吗? #
363045次浏览 2635人参与
# 你怎么看待AI面试 #
179691次浏览 1216人参与
# 牛客AI文生图 #
21391次浏览 237人参与
# 职能管理面试记录 #
10773次浏览 59人参与
# 网易游戏笔试 #
6422次浏览 83人参与
# 腾讯音乐求职进展汇总 #
160527次浏览 1109人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务