Maison  >  Article  >  Java  >  Comment trouver le premier caractère non répétitif en Java ?

Comment trouver le premier caractère non répétitif en Java ?

王林
王林avant
2023-04-21 21:04:061117parcourir

Comment trouver le premier caractère non répétitif d'une chaîne ?

Par exemple, dans la chaîne « Silent King Shen Silent Two », le premier caractère non répétitif est « 王 », n'est-ce pas ? répété, "mo" a été répété.

public class FindNonRepeatingChar {     public static void main(String[] args) {         System.out.println(printFirstNonRepeatingChar("沉默王沉沉默二"));         System.out.println(printFirstNonRepeatingChar("沉默王沉"));         System.out.println(printFirstNonRepeatingChar("沉沉沉"));     }      private static Character printFirstNonRepeatingChar(String string) {         char[] chars = string.toCharArray();          List<Character> discardedChars = new ArrayList<>();          for (int i = 0; i < chars.length; i++) {             char c = chars[i];              if (discardedChars.contains(c))                 continue;              for (int j = i + 1; j < chars.length; j++) {                 if (c == chars[j]) {                     discardedChars.add(c);                     break;                 } else if (j == chars.length - 1) {                     return c;                 }             }         }         return null;     } }

Le résultat de sortie est le suivant :

王 默 null

Laissez-moi parler de mes idées :

1) Divisez la chaîne en un tableau de caractères.

2) Déclarez une liste et mettez-y des caractères répétés.

3) La boucle for externe commence à partir du premier caractère. Si elle est déjà dans la liste, passez au tour suivant.

4) La boucle for imbriquée commence à parcourir à partir du caractère suivant (j = i + 1) du premier caractère si elle trouve un double du caractère précédent, ajoutez-le à la liste et sortez de la boucle interne ; Même si je trouve le dernier (j == chars.length - 1), je ne le trouve pas, qui est le premier caractère non répétitif, n'est-ce pas ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer