Question d'entretien Leetcode 01.02. Déterminer si l'un l'autre est un réarrangement de caractères

Sujet de participation à la phase 2 du défi du CSDN
 : solution algorithmique


insérez la description de l'image ici

Lien et description du sujet

https://leetcode.cn/problems/check-permutation-lcci/

Mots-clés : trier la table de hachage

Pour juger s'il s'agit de réarrangements de caractères, la longueur doit être égale, et les mêmes caractères sont égaux ;
en fonction de ces deux conditions, vous pouvez utiliser :

  • Après tri. comparer les chaînes
  • Enregistrez la comparaison du nombre de caractères correspondants (la solution officielle est un peu orientée réponse, les caractères ne sont pas forcément des lettres, il faut donc utiliser la table de hachage)

Méthode 1 : table de hachage

exécuter une capture d'écran

insérez la description de l'image ici

le code


    public boolean CheckPermutation(String s1, String s2) {
    
    
		if (s1.length() != s2.length()) {
    
    
			return false;
		}
		Map<Character, Integer> table = new HashMap<>();
		for (int i = 0; i < s1.length(); i++) {
    
    
			table.put(s1.charAt(i), table.getOrDefault(s1.charAt(i), 0) + 1);
		}
		for (int i = 0; i < s2.length(); i++) {
    
    
			table.put(s2.charAt(i), table.getOrDefault(s2.charAt(i), 0) - 1);
			if (table.getOrDefault(s2.charAt(i), 0) < 0) {
    
    
				return false;
			}
		}
		return true;
	 
    }

Méthode 2 : Réorganiser

exécuter une capture d'écran

insérez la description de l'image ici

le code


    public boolean CheckPermutation(String s1, String s2) {
    
    
        if (s1.length() != s2.length()) {
    
    
            return false;
        }
        char[] str1 = s1.toCharArray();
        char[] str2 = s2.toCharArray();
        Arrays.sort(str1);
        Arrays.sort(str2);
        return Arrays.equals(str1, str2);
    }
 

fin

Bienvenue pour communiquer dans la zone de commentaires, enregistrez-vous tous les jours et précipitez-vous ! ! !

Je suppose que tu aimes

Origine blog.csdn.net/qq_35530042/article/details/127064670
conseillé
Classement