本文主要是介绍力扣242. 有效的字母异位词,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路:字母相互抵消的思路,本题字符串中只包含小写字母26位,那就新建record数组int[26],下标0-25,代表小写字母a-z, 需要通过 某字符减a 来达到这一目的;
class Solution {public boolean isAnagram(String s, String t) {//这里record数组,下标0-25,代表小写字母a-z, 需要通过 某字符减a 来达到这一目的;//字符相减得到数字,如:b-a = 1,z-a=25,因为字符ASCLL码中,b比a大1,z比a大25;int[] record = new int[26];//通过相互抵消的思路,记录s字符串每个字符出现的次数;for(int i=0; i<s.length();i++) {record[s.charAt(i) - 'a']++; }//在t字符串中抵消,字符出现就次数减1for(int j=0; j<t.length();j++){record[t.charAt(j) - 'a']--;}//遍历看看抵消完是不是都是0for(int k =0;k<record.length;k++){if(record[k]!=0){return false;}}return true;}
}
这篇关于力扣242. 有效的字母异位词的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!