Heim  >  Artikel  >  Java  >  Wie finde ich das erste sich nicht wiederholende Zeichen in Java?

Wie finde ich das erste sich nicht wiederholende Zeichen in Java?

王林
王林nach vorne
2023-04-21 21:04:061119Durchsuche

Wie finde ich das erste sich nicht wiederholende Zeichen aus einer Zeichenfolge?

Zum Beispiel ist in der Zeichenfolge „Silent King Shen Silent Two“ das erste sich nicht wiederholende Zeichen „王“, weil „Shen“ war wiederholt, „mo“ wurde wiederholt.

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;     } }

Das Ausgabeergebnis ist wie folgt:

王 默 null

Lassen Sie mich über meine Ideen sprechen:

1) Teilen Sie die Zeichenfolge in ein Zeichenarray auf.

2) Deklarieren Sie eine Liste und fügen Sie wiederholte Zeichen darin ein.

3) Die äußere for-Schleife beginnt beim ersten Zeichen. Wenn sie bereits in der Liste enthalten ist, fahren Sie mit der nächsten Runde fort.

4) Die verschachtelte for-Schleife beginnt mit dem Durchlaufen des nächsten Zeichens (j = i + 1) des ersten Zeichens. Wenn ein Duplikat des vorherigen Zeichens gefunden wird, fügen Sie es der Liste hinzu und springen Sie aus der inneren Schleife, wenn Selbst wenn ich das letzte (j == chars.length - 1) finde, kann ich es nicht finden, welches das erste sich nicht wiederholende Zeichen ist, oder?

Das obige ist der detaillierte Inhalt vonWie finde ich das erste sich nicht wiederholende Zeichen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen