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

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

王林
發布: 2023-04-21 21:04:06
轉載
1173 人瀏覽過

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

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

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板