题解 | #字母异位词的长度#

字母异位词的长度

https://www.nowcoder.com/practice/59426f49136349b0901cc1b70447bf4b

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @param c string字符串 
     * @return int整型
     */
    public int isCongruent (String s, String c) {
        // write code here
        int[] arr = new int[26]; // 记录字母出现的次数,就是一个数组实现哈希表
        for(char ch : s.toCharArray()){
            arr[ch - 'a']++; // 对s字符串,字母次数+1
        }
        for(char ch : c.toCharArray()){
            arr[ch - 'a']-=1; // 对c字符串,字母出现次数-1
            if(arr[ch - 'a'] < 0)return -1; // 如果出现某个字母次数不够减,说明该字母在s,c中出现次数不一致
        }
	  // 判断c是否比s还有剩余的字母
        for(int i = 0; i < 26; i++){
            if(arr[i] > 0)return -1; 
        }
        return s.length(); // 是字母异位词
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
01-14 12:34
门头沟学院 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务