首頁  >  文章  >  Java  >  如何在Java中找出第一個不重複的字元?

如何在Java中找出第一個不重複的字元?

王林
王林轉載
2023-04-21 21:04:061075瀏覽

如何從字串中找出第一個不重複的字元?

比如說字串“沉默王沉沉默二”,第一個不重複的字元是“王”,對吧?因為“沉”重複了,“默”重複了。

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

輸出結果如下:

王 默 null

說一下我的想法:

1)把字串拆分成字元陣列。

2)宣告一個 List,把重複的字元放進去。

3)外層的 for 循環,從第一個字元開始,如果已經在 List 中,繼續下一輪。

4)嵌套的for 循環,從第一個字元的下一個字元(j = i 1)開始遍歷,如果找到和之前字元重複的,就加入到List  中,跳出內層的循環;如果找到最後(j == chars.length - 1)也沒有找到,就是第一個不重複的字符,對吧?

以上是如何在Java中找出第一個不重複的字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除