原创 字母异位词LeetCode 242题|刷题打卡

发布时间:2021-06-24 21:03:16 浏览 24 来源:猿笔记 作者:HONG

    #贡献主题:1打卡解析,最大的字母长度是26个字母的长度不会超过256,定义数组counter。循环字符s因为s的长度和t的长度一定相等才走循环,长度不想等肯定不是字母异位词,挨个循环每个字母,让s的这个字母数字++让t的这个字母的数字--。如果两个单词是异位词就是。单词顺序不一致但是个数一样。每个单词出现的次数也是一样,一遍循环完++和--全部抵消了数组counter必定为0的时候返回true有不等于0的返回fase全是字母的首先想到用一个256的数组做当然长度是26的也可以每个字符.charAt(i)-'A'就好25


    #主题列表:juejin,github,smartblue,cyanosis,channing-cyan,fancy,hydrogen,condensed-night-purple,greenwillow,v-green,vue-pro,healer-readable,mk-cute,jzman,geek-black,awesome-green,qklhk-chocolate

    #投稿主题:

    theme:juejin

    highlight:

    #题目:

    打卡分析:最大字母长度为26个字母,长度不会超过256个。定义数组计数器。循环字符S将被循环,因为S的长度和T的长度必须相等。如果长度不是等待,肯定不是异位字。逐个循环每个字母,让s++的字母数字字符让T-。如果两个词是异位词,词的顺序不一致但数量相同,每个词出现的次数相同。当++和--被一遍又一遍地取消时,数组计数器必须为0,它返回真。有一个不等于0的返回值

    publicstaticbooleanisAnagram(Strings,Stringt){

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

    returnfalse;

    }

    int[]counter=newint[256];

    for(inti=0;i

    counter[s.charAt(i)]++;

    counter[t.charAt(i)]--;

    }

    for(intcount:counter){

    if(count!=0){

    returnfalse;

    }

    }

    returntrue;

    }#总结

    当它充满字母时,首先想到的是使用256的数组。当然长度是26。charAt(I)-‘A’就可以了。

    #备注

    本文正在参加“掘金2021春季招募活动”,点击查看](

作者信息

HONG [等级:3] k12后端Java
发布了 16 篇专栏 · 获得点赞 12 · 获得阅读 1670

相关推荐 更多