[JAVA] [Algorithme] Ordre décroissant des chaînes de caractères

Description du problème

Créez une méthode solution qui prend les paramètres de la chaîne s, les trie par ordre décroissant et renvoie une nouvelle chaîne. s se compose uniquement de lettres minuscules et de lettres majuscules, et les majuscules sont traitées comme une valeur plus petite que les minuscules.

conditions

--Paramètre: La longueur de s est une chaîne de 1 ou plus.

Exemple d'entrée / sortie

x result
"Zbcdefg" "gfedcbZ"

Commentaire

Méthode 1


class Solution {
    public String solution(String s) {
        return Stream.of(s.split("")) //Divisez la chaîne de caractères caractère par caractère
            .sorted(Comparator.reverseOrder()) //Trier par ordre décroissant
            .collect(Collectors.joining()); //Combinez les chaînes de caractères divisées en une chaîne de caractères.
    }
}

Méthode 2


class Solution {
    public String solution(String s) {
        char[] sol = s.toCharArray(); //Obtenir un tableau de caractères à partir de la chaîne
        Arrays.sort(sol); // "Zbcdefg"

        //Utilisez l'inverse de StringBuilder pour inverser l'ordre.
        return new StringBuilder(new String(sol)).reverse().toString();
    }
}

Recommended Posts

[Algorithme] Ordre décroissant des chaînes de caractères
[Algorithme] Ajout de chiffres
À propos de la conversion pleine largeur ⇔ demi-largeur des chaînes de caractères en Java
[Java] Gestion des chaînes de caractères (classe String et classe StringBuilder)
[Introduction à Java] Gestion des chaînes de caractères (classe String, classe StringBuilder)
Principes de base de l'utilisation des caractères (Java)
Afficher les chaînes de caractères caractère par caractère [Note]